Thread (18 messages) flat view 18 messages, 4 authors, 2016-06-16

Re: [PATCH 4/5] netdev: implement infrastructure for threadable napi irq

From: Eric Dumazet <edumazet@google.com>
Date: 2016-06-15 14:22:04
Also in: lkml

On Wed, Jun 15, 2016 at 7:17 AM, Eric Dumazet [off-list ref] wrote:
On Wed, Jun 15, 2016 at 6:42 AM, Paolo Abeni [off-list ref] wrote:
quoted
This commit adds the infrastructure needed for threadable
rx interrupt. A reference to the irq thread is used to
mark the threaded irq mode.
In threaded mode the poll loop is invoked directly from
__napi_schedule().
napi drivers which want to support threadable irq interrupts
must provide an irq mode change handler which actually set
napi->thread and register it after requesting the irq.

Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Hannes Frederic Sowa <redacted>
---
 include/linux/netdevice.h |  4 ++++
 net/core/dev.c            | 59 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 63 insertions(+)
I really appreciate the effort, but as I already said this is not going to work.

Many NIC have 2 NAPI contexts per queue, one for TX, one for RX.

Relying on CFS to switch from the two 'threads' you need in the one
vCPU case will add latencies that your 'pure throughput UDP flood' is
not able to detect.

I was waiting a fix from Andy Lutomirski to be merged before sending
my ksoftirqd fix, which will work and wont bring kernel bloat.

Andy's patch was"x86/traps: Don't force in_interrupt() to return true
in IST handlers"
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help