aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/sfc/tx.c
diff options
context:
space:
mode:
authorEdward Cree <ecree@solarflare.com>2018-11-08 19:47:19 +0000
committerDavid S. Miller <davem@davemloft.net>2018-11-08 20:01:29 -0800
commit29e12207174a58ac8cab4914d0a7ce5e6c872646 (patch)
tree7dfc6dcf85cb06db56662c12199717e68f3fecf6 /drivers/net/ethernet/sfc/tx.c
parentMerge branch 'net-Remove-VLAN_TAG_PRESENT-from-drivers' (diff)
downloadlinux-dev-29e12207174a58ac8cab4914d0a7ce5e6c872646.tar.xz
linux-dev-29e12207174a58ac8cab4914d0a7ce5e6c872646.zip
sfc: use the new __netdev_tx_sent_queue BQL optimisation
As added in 3e59020abf0f ("net: bql: add __netdev_tx_sent_queue()"), which see for performance rationale. Signed-off-by: Edward Cree <ecree@solarflare.com> Reviewed-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/sfc/tx.c')
-rw-r--r--drivers/net/ethernet/sfc/tx.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/net/ethernet/sfc/tx.c b/drivers/net/ethernet/sfc/tx.c
index c3ad564ac4c0..22eb059086f7 100644
--- a/drivers/net/ethernet/sfc/tx.c
+++ b/drivers/net/ethernet/sfc/tx.c
@@ -553,13 +553,10 @@ netdev_tx_t efx_enqueue_skb(struct efx_tx_queue *tx_queue, struct sk_buff *skb)
if (!data_mapped && (efx_tx_map_data(tx_queue, skb, segments)))
goto err;
- /* Update BQL */
- netdev_tx_sent_queue(tx_queue->core_txq, skb_len);
-
efx_tx_maybe_stop_queue(tx_queue);
/* Pass off to hardware */
- if (!xmit_more || netif_xmit_stopped(tx_queue->core_txq)) {
+ if (__netdev_tx_sent_queue(tx_queue->core_txq, skb_len, xmit_more)) {
struct efx_tx_queue *txq2 = efx_tx_queue_partner(tx_queue);
/* There could be packets left on the partner queue if those