summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/chelsio/cxgb3/common.h
diff options
context:
space:
mode:
authorÍñigo Huguet <ihuguet@redhat.com>2021-06-03 08:34:29 +0200
committerDavid S. Miller <davem@davemloft.net>2021-06-03 14:57:37 -0700
commit5e0b8928927fa0bac688221a4b2636ef593a0599 (patch)
tree1cacef8dc34f05f26af456311d746bcf56c36ce6 /drivers/net/ethernet/chelsio/cxgb3/common.h
parenta29cb6914681a55667436a9eb7a42e28da8cf387 (diff)
net:cxgb3: replace tasklets with works
OFLD and CTRL TX queues can be stopped if there is no room in their DMA rings. If this happens, they're tried to be restarted later after having made some room in the corresponding ring. The tasks of restarting these queues were triggered using tasklets, but they can be replaced for workqueue works, getting them out of softirq context. This queues stop/restart probably doesn't happen often and they can be quite lengthy because they try to send all pending skbs. Moreover, given that probably the ring is not empty yet, so the DMA still has work to do, we don't need to be so fast to justify using tasklets/softirq instead of running in a thread. Signed-off-by: Íñigo Huguet <ihuguet@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/chelsio/cxgb3/common.h')
-rw-r--r--drivers/net/ethernet/chelsio/cxgb3/common.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/chelsio/cxgb3/common.h b/drivers/net/ethernet/chelsio/cxgb3/common.h
index 1bd7d89666c4..b706f2fbe4f4 100644
--- a/drivers/net/ethernet/chelsio/cxgb3/common.h
+++ b/drivers/net/ethernet/chelsio/cxgb3/common.h
@@ -770,4 +770,6 @@ int t3_xaui_direct_phy_prep(struct cphy *phy, struct adapter *adapter,
int phy_addr, const struct mdio_ops *mdio_ops);
int t3_aq100x_phy_prep(struct cphy *phy, struct adapter *adapter,
int phy_addr, const struct mdio_ops *mdio_ops);
+
+extern struct workqueue_struct *cxgb3_wq;
#endif /* __CHELSIO_COMMON_H */