Re: IRQ handling difference between i386 and x86_64

From: Krzysztof Oledzki
Date: Sat Jun 30 2007 - 18:53:27 EST




On Sat, 30 Jun 2007, Arjan van de Ven wrote:

On Sat, 2007-06-30 at 16:55 +0200, Krzysztof Oledzki wrote:
Hello,

It seems that IRQ handling is somehow different between i386 and x86_64.

In my Dell PowerEdge 1950 is it possible to enable interrupts spreading
over all CPUs. This a single CPU, four CORE system (Quad-Core E5335 Xeon)
so I think that interrupts migration may be useful. Unfortunately, it
works only with 32-bit kernel. Booting it with x86_64 leads to situation,
when all interrupts goes only to the first cpu matching a smp_affinity
mask.

arguably that is the most efficient behavior... round robin of
interrupts is the worst possible case in terms of performance

Even on dual/quadro core CPUs with shared cache? So why it is possible to enable such behaviuor in BIOS, which works only on i386 BTW. :(

are you using irqbalance ? (www.irqbalance.org)

Yes, I'm aware about this useful tool, but in some situations (routing for example) it cannot help much as it keeps three cpus idle. :(

Best regards,

Krzysztof Olędzki