Messages in this thread | | | Date | Fri, 28 May 2004 13:14:40 -0700 | From | Nivedita Singhvi <> | Subject | Re: CONFIG_IRQBALANCE for AMD64? |
| |
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
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |