lkml.org 
[lkml]   [2008]   [Aug]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 2/2] fusion: Implement generic interrupt misroute handling
From
Date
On Tue, 2008-08-05 at 10:38 -0700, Jesse Barnes wrote:
> On Tuesday, August 05, 2008 9:36 am James Bottomley wrote:
> > On Mon, 2008-08-04 at 14:55 +0100, David Vrabel wrote:
> > > Moore, Eric wrote:
> > > > Thanks, I will try this out. However I thought I saw lost
> > > > interrupts occurring randomly, meaning it was not necessarily the
> > > > first config page access. I'm back in the office on 8/11, I will
> > > > test it out then and provide feedback.
> > >
> > > Is this using MSI on a device without per-vector mask bits? If so, then
> > > this patch may help.
> > >
> > > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit
> > >;h=ce6fce4295ba727b36fdc73040e444bd1aae64cd
> >
> > We don't really know what the problem is. MSI interrupts get lost on
> > older motherboards (the ones most likely to contain a 1030). Why is
> > anybody's guess although the clever money is on the motherboard bridge
> > having issues.
>
> David just got us to fix an MSI masking bug recently, which could be related.
>
> The issue is that the PCI & interrupt handling code was disabling MSI during
> interrupt handling, which could end up causing missed interrupts. When MSI
> is disabled, devices can still generate interrupts, but they'll go out the
> interrupt line instead, so unless your IRQ handler is also registered with
> that IRQ number, you'll probably lose them.
>
> As of the last PCI upstream merge, we work around this issue by never masking
> MSI interrupts unless the device supports the MSI mask bit (as opposed to
> just the big hammer enable/disable flag).

True, but this is orthogonal.

I'm trying to put together a diagnosing tool. Once we know there's a
problem and who has it, then we can try seeing if patches like this fix
it.

James




\
 
 \ /
  Last update: 2008-08-05 22:55    [W:0.046 / U:0.200 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site