All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tobias Regnery <tobias.regnery@gmail.com>
To: netdev@vger.kernel.org, jcliburn@gmail.com, chris.snook@gmail.com
Cc: davem@davemloft.net, Tobias Regnery <tobias.regnery@gmail.com>
Subject: [PATCH net-next V2 0/9] alx: add multi queue support
Date: Tue, 15 Nov 2016 12:43:07 +0100	[thread overview]
Message-ID: <cover.1479208627.git.tobias.regnery@gmail.com> (raw)

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

             reply	other threads:[~2016-11-15 11:43 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-15 11:43 Tobias Regnery [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1479208627.git.tobias.regnery@gmail.com \
    --to=tobias.regnery@gmail.com \
    --cc=chris.snook@gmail.com \
    --cc=davem@davemloft.net \
    --cc=jcliburn@gmail.com \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.