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