Messages in this thread | | | From | Eric Dumazet <> | Date | Wed, 15 Jun 2016 07:21:53 -0700 | Subject | Re: [PATCH 4/5] netdev: implement infrastructure for threadable napi irq |
| |
On Wed, Jun 15, 2016 at 7:17 AM, Eric Dumazet <edumazet@google.com> wrote: > On Wed, Jun 15, 2016 at 6:42 AM, Paolo Abeni <pabeni@redhat.com> wrote: >> 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 <hannes@stressinduktion.org> >> --- >> 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"
| |