lkml.org 
[lkml]   [2008]   [Aug]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH 2/2] fusion: Implement generic interrupt misroute handling
Date
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).

Jesse




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