From: Andi Kleen on
On Thu, Mar 25, 2010 at 07:23:58PM +0100, Peter Zijlstra wrote:
> On Thu, 2010-03-25 at 19:21 +0100, Peter Zijlstra wrote:
> > On Thu, 2010-03-25 at 11:01 -0700, Linus Torvalds wrote:
> > > Are there any cases around
> > > that still have busy-loop delays based on real-time in their irq handlers?
> > > I simply don't know.
> >
> > I recently found a few in drivers/net/ there's all kinds of funny stuff
> > in there.. not sure how common the matching hardware is though.
> >
> > One thing we could do is instrument jiffies to yell when its used from
> > hardirq context and fix up these things.
>
> Also, Arjan mentioned he wanted to sweep the kernel for jiffies users
> and convert them to timer interfaces..

% linux-2.6> gid jiffies | wc -l
7569

Good luck.

-Andi

--
ak(a)linux.intel.com -- Speaking for myself only.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Eric W. Biederman on
Andi Kleen <andi(a)firstfloor.org> writes:

>> I think the patch as posted solves a real problem, but also perpetuates a bad
>> situation.
>>
>> At minimum we should print a (one-time) warning that some badness occured.
>> That would push us either in the direction of improving drivers, or towards
>> improving the generic code.
>
> What should a driver do to prevent that? I don't see what it could do
> short of castrating itself (like refusing to use multiple ports)
> As Linus says the driver doesn't know if setting IRQF_DISABLED is safe.

As an aside this is happening on MSI irqs. They can never be shared.
So in fact the driver can know it is safe.

Should we perhaps make all MSI irqs automatically set IRQF_DISABLED?

Eric
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Andi Kleen on
> Now, I think (and sincerely) that the SCSI situation is likely long since
> fixed, but we have thousands and thousands of drivers, and these kinds of
> things are very hard to notice automatically. Are there any cases around
> that still have busy-loop delays based on real-time in their irq handlers?
> I simply don't know.

This case was already broken back when the x86-64 port used to run
with NMI watchdog on by default, because any IO exception handling
with interrupts off would trigger the NMI watchdog eventually.

I remember having to add bandaids to Fusion for this a long time ago.

Of course ISA drivers might still do it.

-Andi
--
ak(a)linux.intel.com -- Speaking for myself only.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/