unbalanced interrupt distribution
Roger Oberholtzer
roger at opq.se
Mon Jan 12 06:56:14 PST 2009
On Mon, 2009-01-12 at 04:57 -0800, Amit Jagtap wrote:
> Hi,
>
> my server shows following in /proc/interrupts file -
> CPU0 CPU1 CPU2 CPU3
> 74: 23457427 0 0 0 PCI-MSI eth0
> 82: 7504 0 0 0 PCI-MSI eth1
>
>
> Can the above interrupt distribution lead to performance bottelneck in high
> load situtations?
My 2 cents worth:
Could be. However, I think the kernel puts all hardware interrupts on
one CPU. Non-hardware kernel and user process activity can be run on the
various CUPs. SVR4.2 Unix (UnixWare and Solaris?) allows assigning
specific hardware to specific CPUs. But then you can still get
bottlenecks unless you monitor things all the time. I would be curious
to know if there is any work underway on distributing hardware across
CPUs based on recent load. Of course, I am not sure it is really makes a
big difference in most cases. The hardware activity for a device that is
bound to a CPU is probably a relatively small part of the time spent
dealing with all the things a device can cause to happen. Once your
network data is in buffers, the other CPU kernel threads move it to
processes and the processes themselves run in other CPUs.
Roger Oberholtzer
More information about the Linux-users
mailing list