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.
