I have a question about RSS and how a CPU is selected to process the 
interrupt.

So with RSS you have multiple rx-queue and each rx-queue has an IRQ 
associated to it. Each CPU can pick up the IRQ as clearly explained here:

https://www.kernel.org/doc/Documentation/networking/scaling.txt

It is possible to using IRQ/CPU affinity to prevent that just any CPU 
picking up the IRQ.

My question is about the default behavior when no explicit affinity has 
been set.

Is there any advantage of letting the same rx-queue being processed by 
different CPU's? In case of a random CPU picking up same IRQ, you could end 
a packet being processed at a different CPU for every packet being 
received. This will cause a lot of cache coherence traffic which will 
certainly not improve performance.

When I look at /proc/interrupts of my local system, it seems the same CPU 
is processing a specific rx-queue. So it looks that the OS is already 
applying some form of affinity to map an IRQ to a CPU.

Can someone shed a light on this?

Thanks.

-- 
You received this message because you are subscribed to the Google Groups 
"mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to