Merge branch 'alx-multiqueue-support'
authorDavid S. Miller <davem@davemloft.net>
Wed, 16 Nov 2016 03:46:31 +0000 (22:46 -0500)
committerDavid S. Miller <davem@davemloft.net>
Wed, 16 Nov 2016 03:46:31 +0000 (22:46 -0500)
commit21b23daebadca9a446da3477754e23a3dd34ff1a
treeb26958196059056e965670751ca0ffcf9cc83c2b
parent11b8ad33da03d9a296b5428baf36660d5612a7de
parentd768319cd4277ef1cfa1e04792adb0aeea40cca6
Merge branch 'alx-multiqueue-support'

Tobias Regnery says:

====================
alx: add multi queue support

This patchset lays the groundwork for multi queue support in the alx driver
and enables multi queue support for the tx path by default. The hardware
supports up to 4 tx queues.

Benefits are better utilization of multi core cpus and the usage of the
msi-x support by default which splits the handling of rx / tx and misc
other interrupts.

The rx path is a little bit harder because apparently (based on the limited
information from the downstream driver) the hardware supports up to 8 rss
queues but only has one hardware descriptor ring on the rx side. So the rx
path will be part of another patchset.

Tested on my AR8161 ethernet adapter with different tests:
- there are no regressions observed during my daily usage
- iperf tcp and udp tests shows no performance regressions
- netperf TCP_RR and UDP_RR shows a slight performance increase of about
  1-2% with this patchset applied

This work is based on the downstream driver at github.com/qca/alx

Changes in V2:
- drop unneeded casts in alx_alloc_rx_ring (Patch 1)
- add additional information about testing and benefit to the
  changelog
====================

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