unbalanced interrupt distribution
Steve Jardine
sjardine at acm.org
Mon Jan 12 14:51:57 PST 2009
The big problem I see is that if a PCI (or derivative thereof) is used and it does not have
scheduled interrupts, I believe that the interrupts are prioritized by a single hardware
controller in a round robin order (video slot to farthest away).
On an 8 core system I used, I was able to get irqtune to balance the
interrupts. It was a four processor XEON box dual core. Not sure of the bus type, but
it had a dedicated I/O bus. Real pain to build kernels for though...had real strange data
paths and sizes.
Does anyone else know if irqtune will help this situation on a PCI-MSI box? I think it works
well with PCI-X..
Steve
Sharing the benefits of "excessive profits" of publicly traded companies
through bourgeois Capitalism (investment).
I'm waiting for some obscure research to say we have to stop human flatulence or global warming is going to get rampant !
"Giving money and power to government is like giving whiskey and car keys to teenage boys". -- Geoff Metcalf
On Mon, 12 Jan 2009 15:56:14 +0100
Roger Oberholtzer <roger at opq.se> wrote:
> 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
>
> _______________________________________________
> Linux-users mailing list ( Linux-users at linux-sxs.org )
> Unsub/Password/Etc:
> http://linux-sxs.org/mailman/listinfo/linux-users
>
> Need to chat further on this subject? Check out #linux-users on irc.linux-sxs.org !
>
More information about the Linux-users
mailing list