nfp: use the new __netdev_tx_sent_queue() BQL optimisation
authorJakub Kicinski <jakub.kicinski@netronome.com>
Sat, 10 Nov 2018 02:50:00 +0000 (18:50 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 10 Nov 2018 03:49:00 +0000 (19:49 -0800)
__netdev_tx_sent_queue() was added in commit e59020abf0f
("net: bql: add __netdev_tx_sent_queue()") and allows for
better GSO performance.

Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: Dirk van der Merwe <dirk.vandermerwe@netronome.com>
Reviewed-by: Simon Horman <simon.horman@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/netronome/nfp/nfp_net_common.c

index e00d5a2..a0343f2 100644 (file)
@@ -890,8 +890,6 @@ static int nfp_net_tx(struct sk_buff *skb, struct net_device *netdev)
                u64_stats_update_end(&r_vec->tx_sync);
        }
 
-       netdev_tx_sent_queue(nd_q, txbuf->real_len);
-
        skb_tx_timestamp(skb);
 
        tx_ring->wr_p += nr_frags + 1;
@@ -899,7 +897,7 @@ static int nfp_net_tx(struct sk_buff *skb, struct net_device *netdev)
                nfp_net_tx_ring_stop(nd_q, tx_ring);
 
        tx_ring->wr_ptr_add += nr_frags + 1;
-       if (!skb->xmit_more || netif_xmit_stopped(nd_q))
+       if (__netdev_tx_sent_queue(nd_q, txbuf->real_len, skb->xmit_more))
                nfp_net_tx_xmit_more_flush(tx_ring);
 
        return NETDEV_TX_OK;