Commit 2869975c authored by Faisal Latif's avatar Faisal Latif Committed by Roland Dreier

RDMA/nes: Remove LLTX

NETIF_F_LLTX is deprecated. Remove private TX locking from the driver
and remove the NETIF_F_LLTX feature flag.  This also fixes a warning
in some configs that comes from doing skb_linearize() call in the
hard_start_xmit method with IRQs disabled (if HIGHMEM is enabled,
skb_linearize() may end up enabling BHs, which is a no-no if hard IRQs
are disabled in that context).  By getting rid of LLTX, we do not
disable IRQs when skb_linearize() is called.

Remove the sq_lock as it is not needed for non-LLTX.  Fix ethtool not
to show the counter for sq_lock.

Reported-by: aluno3@poczta.onet.pl
Signed-off-by: default avatarFaisal Latif <faisal.latif@intel.com>
Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
parent fd87778c
...@@ -1644,7 +1644,6 @@ int nes_init_nic_qp(struct nes_device *nesdev, struct net_device *netdev) ...@@ -1644,7 +1644,6 @@ int nes_init_nic_qp(struct nes_device *nesdev, struct net_device *netdev)
nesvnic->post_cqp_request = nes_post_cqp_request; nesvnic->post_cqp_request = nes_post_cqp_request;
nesvnic->mcrq_mcast_filter = NULL; nesvnic->mcrq_mcast_filter = NULL;
spin_lock_init(&nesvnic->nic.sq_lock);
spin_lock_init(&nesvnic->nic.rq_lock); spin_lock_init(&nesvnic->nic.rq_lock);
/* setup the RQ */ /* setup the RQ */
...@@ -2632,9 +2631,9 @@ void nes_nic_ce_handler(struct nes_device *nesdev, struct nes_hw_nic_cq *cq) ...@@ -2632,9 +2631,9 @@ void nes_nic_ce_handler(struct nes_device *nesdev, struct nes_hw_nic_cq *cq)
} else } else
break; break;
} }
}
if (skb) if (skb)
dev_kfree_skb_any(skb); dev_kfree_skb_any(skb);
}
nesnic->sq_tail++; nesnic->sq_tail++;
nesnic->sq_tail &= nesnic->sq_size-1; nesnic->sq_tail &= nesnic->sq_size-1;
if (sq_cqes > 128) { if (sq_cqes > 128) {
......
...@@ -876,7 +876,6 @@ struct nes_hw_nic { ...@@ -876,7 +876,6 @@ struct nes_hw_nic {
u8 replenishing_rq; u8 replenishing_rq;
u8 reserved; u8 reserved;
spinlock_t sq_lock;
spinlock_t rq_lock; spinlock_t rq_lock;
}; };
...@@ -1148,7 +1147,6 @@ struct nes_ib_device; ...@@ -1148,7 +1147,6 @@ struct nes_ib_device;
struct nes_vnic { struct nes_vnic {
struct nes_ib_device *nesibdev; struct nes_ib_device *nesibdev;
u64 sq_full; u64 sq_full;
u64 sq_locked;
u64 tso_requests; u64 tso_requests;
u64 segmented_tso_requests; u64 segmented_tso_requests;
u64 linearized_skbs; u64 linearized_skbs;
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment