On Wed, Jun 15, 2016 at 6:42 AM, Paolo Abeni [off-list ref] 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 <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.