diff options
author | Edward Cree <ecree@solarflare.com> | 2018-11-08 22:47:19 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-11-09 07:01:29 +0300 |
commit | 29e12207174a58ac8cab4914d0a7ce5e6c872646 (patch) | |
tree | 7dfc6dcf85cb06db56662c12199717e68f3fecf6 /drivers/net/ethernet/sfc | |
parent | eb4149c9a5dfaa310d70326434c686af66e3d10f (diff) | |
download | linux-29e12207174a58ac8cab4914d0a7ce5e6c872646.tar.xz |
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')
-rw-r--r-- | drivers/net/ethernet/sfc/tx.c | 5 |
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 |