Re: [RFC PATCH 1/4] softirq: Limit vector to a single iteration on IRQ tail

From: David Miller
Date: Fri Jan 19 2018 - 11:16:44 EST


From: Frederic Weisbecker <frederic@xxxxxxxxxx>
Date: Fri, 19 Jan 2018 16:46:11 +0100

> For now, vectors that get re-enqueued trigger ksoftirqd but they are
> going to be handled by per-vector workqueues on subsequent patches.

Frederic, first of all, thanks for doing all of this work.

So this "get requeued" condition I think will trigger always for
networking tunnel decapsulation.

Each decap will (eventually) do a:

__raise_softirq_irqoff(NET_RX_SOFTIRQ);

via ____napi_schedule() in net/core/dev.c

Example code path:

ip_tunnel_rcv()
gro_cells_receive()
napi_schedule()
__napi_schedule()
____napi_schedule();
__raise_softirq_irqoff(NET_RX_SOFTIRQ);

Anyways, just FYI...