Re: CONFIG_IRQBALANCE for AMD64?

Nivedita Singhvi
2004-05-28T20:13:30Z

Jeff Garzik wrote:
> Nivedita Singhvi wrote:

> Network is one of the areas where you _don't_ want to be constantly
> pointing your NIC's irq to different CPUs.
>
> Cache affinity, packet re-ordering problems, and other fun ensue.
>
> Jeff

I agree that there is a tradeoff point - we need the cache
affinity, but you also want to employ the other CPUs which
might be idle in the system - so there is a timeframe that
is ideal to have one CPU pick up interrupts, and then move
on to another - but that timeframe is surely shorter than
then every 5 mins or so that the irq daemon might run,
correct?

Also, yep, packet re-ordering is an issue for TCP connections,
and we do have mechanisms in the kernel to address it to some
extent - so we don't trigger fast retransmit unnecessarily.
And if you have a lot of UDP and other traffic, or short lived
connections, then you are unnecessarily subjecting them to
a less ideal environment.

I agree that this is very tricky stuff to optimize, and I
certainly don't know how to go about picking the best
heuristic here, but I am wondering how the frequency with
which a user space daemon might run (and you don't want it
to run too often given the cost) would be able to handle
something that does require finer granularity. Or is it
everybody's understanding that fine grained balancing is
not needed?

thanks,
Nivedita