Merge branch 'net-bql-better-deal-with-GSO'
authorDavid S. Miller <davem@davemloft.net>
Sat, 3 Nov 2018 22:40:01 +0000 (15:40 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 3 Nov 2018 22:40:01 +0000 (15:40 -0700)
commitcb53fd54e340ce54d2bc2397cd0b70c712642f98
tree73330b5959a58e476ed613f2fe8e31fad7c28f5a
parentb8a5d06ae234b9522f49d5cc97ff46edc6bdb780
parentc29734443511aa3c53844e1941805fc761aa80ba
Merge branch 'net-bql-better-deal-with-GSO'

Eric Dumazet says:

====================
net: bql: better deal with GSO

While BQL bulk dequeue works well for TSO packets, it is
not very efficient as soon as GSO is involved.

On a GSO only workload (UDP or TCP), this patch series
can save about 8 % of cpu cycles on a 40Gbit mlx4 NIC,
by keeping optimal batching, and avoiding expensive
doorbells, qdisc requeues and reschedules.

This patch series :

- Add __netdev_tx_sent_queue() so that drivers
  can implement efficient BQL and xmit_more support.

- Implement a work around in dev_hard_start_xmit()
  for drivers not using __netdev_tx_sent_queue()

- changes mlx4 to use __netdev_tx_sent_queue()

v2: Tariq and Willem feedback addressed.
    added __netdev_tx_sent_queue() (Willem suggestion)
====================

Signed-off-by: David S. Miller <davem@davemloft.net>