[CentOS] How to load balance interrupts of a NIC on the PCI-MSI-edge driver in CentOS? :(

Tue May 21 05:45:26 UTC 2013
John R Pierce <pierce at hogranch.com>

On 5/20/2013 10:24 PM, Alex Flex wrote:
> We run a reverse proxy so our CPU need for that is very small, plus we
> get syn flooded often.. which is why we have the need to be able to load
> between cores, i think it is justified.

IRQ handlers are not reentrant, as the hardware can't deal with it.

you can only have one CPU thread at a time in the IRQ handler for a 
specific device, so you might as well just handle one device with one 
CPU.   if you have several ethernet adapters, then I'd hope the IRQs 
could be distributed

one device interrupting both cores would cause a lot of trouble with 
hardware contention, or it would need to be all spinlocked which would 
make it worse, you'd be CPU bound in TWO cores in spinlocks half the time.

but again, a Server adapter like a Intel Pro1000 or whatever, something 
like...
http://www.amazon.com/Intel-1000-Dual-Server-Adapter/dp/B000BMZHX2

will do much better than some $5 realtek junk.


-- 
john r pierce                                      37N 122W
somewhere on the middle of the left coast