netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/7] net: mvneta: Switch to per-CPU irq and make rxq_def useful
@ 2015-09-25 16:09 Gregory CLEMENT
  2015-09-25 16:09 ` [PATCH v2 1/7] genirq: Fix the documentation of request_percpu_irq Gregory CLEMENT
                   ` (8 more replies)
  0 siblings, 9 replies; 14+ messages in thread
From: Gregory CLEMENT @ 2015-09-25 16:09 UTC (permalink / raw)
  To: Thomas Gleixner, Jason Cooper, linux-kernel, David S. Miller,
	netdev, Thomas Petazzoni
  Cc: Andrew Lunn, Sebastian Hesselbarth, Gregory CLEMENT, Lior Amsalem,
	Tawfik Bayouk, Nadav Haklai, Ezequiel Garcia, Maxime Ripard,
	Boris BREZILLON, Willy Tarreau, linux-arm-kernel

Hi,

As stated in the first version: "this patchset reworks the Marvell
neta driver in order to really support its per-CPU interrupts, instead
of faking them as SPI, and allow the use of any RX queue instead of
the hardcoded RX queue 0 that we have currently."

Following the review which has been done, Maxime started adding the
CPU hotplug support. I continued his work a few weeks ago and here is
the result.

Since the 1st version the main change is this CPU hotplug support, in
order to validate it I powered up and down the CPUs while performing
iperf. I ran the tests during hours: the kernel didn't crash and the
network interfaces were still usable. Of course it impacted the
performance, but continuously power down and up the CPUs is not
something we usually do.

I also reorganized the series, the 3 first patches should go through
the irq subsystem, whereas the 4 others should go to the network
subsystem.

However, there is a runtime dependency between the two parts. Patch 5
depend on the patch 3 to be able to use the percpu irq.

Thanks,

Gregory

PS: Thanks to Willy who gave me some pointers on how to deal with the
NAPI.

Maxime Ripard (7):
  genirq: Fix the documentation of request_percpu_irq
  irq: Export per-cpu irq allocation and de-allocation functions
  irqchip: armada-370-xp: Rework per-cpu interrupts handling
  net: mvneta: Fix CPU_MAP registers initialisation
  net: mvneta: Handle per-cpu interrupts
  net: mvneta: Allow different queues
  net: mvneta: Statically assign queues to CPUs

 drivers/irqchip/irq-armada-370-xp.c   |  14 +-
 drivers/net/ethernet/marvell/mvneta.c | 316 +++++++++++++++++++++++-----------
 kernel/irq/manage.c                   |   9 +-
 3 files changed, 226 insertions(+), 113 deletions(-)

-- 
2.1.0

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

end of thread, other threads:[~2015-09-30 17:39 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-25 16:09 [PATCH v2 0/7] net: mvneta: Switch to per-CPU irq and make rxq_def useful Gregory CLEMENT
2015-09-25 16:09 ` [PATCH v2 1/7] genirq: Fix the documentation of request_percpu_irq Gregory CLEMENT
2015-09-25 16:09 ` [PATCH v2 2/7] irq: Export per-cpu irq allocation and de-allocation functions Gregory CLEMENT
2015-09-30 14:56   ` Thomas Petazzoni
2015-09-25 16:09 ` [PATCH v2 3/7] irqchip: armada-370-xp: Rework per-cpu interrupts handling Gregory CLEMENT
2015-09-25 16:09 ` [PATCH v2 4/7] net: mvneta: Fix CPU_MAP registers initialisation Gregory CLEMENT
2015-09-25 16:09 ` [PATCH v2 5/7] net: mvneta: Handle per-cpu interrupts Gregory CLEMENT
2015-09-25 16:09 ` [PATCH v2 6/7] net: mvneta: Allow different queues Gregory CLEMENT
2015-09-25 16:09 ` [PATCH v2 7/7] net: mvneta: Statically assign queues to CPUs Gregory CLEMENT
2015-09-29 18:51 ` [PATCH v2 0/7] net: mvneta: Switch to per-CPU irq and make rxq_def useful David Miller
2015-09-30 14:56   ` Thomas Gleixner
2015-09-30 15:40     ` David Miller
2015-09-30 17:39       ` Thomas Gleixner
2015-09-30 14:53 ` Thomas Gleixner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).