All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next V2 0/9] alx: add multi queue support
@ 2016-11-15 11:43 Tobias Regnery
  2016-11-15 11:43 ` [PATCH net-next V2 1/9] alx: refactor descriptor allocation Tobias Regnery
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: Tobias Regnery @ 2016-11-15 11:43 UTC (permalink / raw)
  To: netdev, jcliburn, chris.snook; +Cc: davem, Tobias Regnery

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

Tobias Regnery (9):
  alx: refactor descriptor allocation
  alx: extend data structures for multi queue support
  alx: add ability to allocate and free alx_napi structures
  alx: switch to per queue data structures
  alx: prepare interrupt functions for multiple queues
  alx: prepare resource allocation for multi queue support
  alx: prepare tx path for multi queue support
  alx: enable msi-x interrupts by default
  alx: enable multiple tx queues

 drivers/net/ethernet/atheros/alx/alx.h  |  36 ++-
 drivers/net/ethernet/atheros/alx/main.c | 554 ++++++++++++++++++++++----------
 2 files changed, 420 insertions(+), 170 deletions(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2016-11-16  3:46 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-15 11:43 [PATCH net-next V2 0/9] alx: add multi queue support Tobias Regnery
2016-11-15 11:43 ` [PATCH net-next V2 1/9] alx: refactor descriptor allocation Tobias Regnery
2016-11-15 11:43 ` [PATCH net-next V2 2/9] alx: extend data structures for multi queue support Tobias Regnery
2016-11-15 11:43 ` [PATCH net-next V2 3/9] alx: add ability to allocate and free alx_napi structures Tobias Regnery
2016-11-15 11:43 ` [PATCH net-next V2 4/9] alx: switch to per queue data structures Tobias Regnery
2016-11-15 11:43 ` [PATCH net-next V2 5/9] alx: prepare interrupt functions for multiple queues Tobias Regnery
2016-11-15 11:43 ` [PATCH net-next V2 6/9] alx: prepare resource allocation for multi queue support Tobias Regnery
2016-11-15 11:43 ` [PATCH net-next V2 7/9] alx: prepare tx path " Tobias Regnery
2016-11-15 11:43 ` [PATCH net-next V2 8/9] alx: enable msi-x interrupts by default Tobias Regnery
2016-11-15 11:43 ` [PATCH net-next V2 9/9] alx: enable multiple tx queues Tobias Regnery
2016-11-16  3:46 ` [PATCH net-next V2 0/9] alx: add multi queue support David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.