Re: [PATCH][RFC] per isr in_progress markers

From: Rogier Wolff (R.E.Wolff@BitWizard.nl)
Date: Tue Sep 10 2002 - 02:46:16 EST


On Mon, Sep 09, 2002 at 11:53:40AM -0700, Linus Torvalds wrote:
>
> (Btw, if there is, that would also allow us to notice the "constantly
> screaming PCI interrupt" without help from the low-level isrs)

OH! That'd be nice: instead of a lockup if a PCI device's interrupt
isn't serviced, you get a nice message and a machine that might
still work!

On the other hand, you have a possibility for disaster if the
threshold isn't set right.

I have written serial drivers where the card will limit the interrupt
rate to max 100 per second. I then build in a detection: if my IRQ
handler gets called more than 10 times in a jiffy, we're in trouble.

Turns out that I left this in "in the field" and some people put the
serial card on the same interrupt line as a SCSI controller. The
scsi controller can generate more than 1000 interrupts per second ->
my driver shuts down....

Something similar may happen if say you net-spray a sligtly
under-powered machine with a Gigabit ethernet card: The GBE card may
indeed have a new packet ready by the time the interrupt tries to
return. Leads to an interesting DOS: just send a bunch of packets
in quick succession and the machine drops off the internet...

                                Roger.

-- 
** R.E.Wolff@BitWizard.nl ** http://www.BitWizard.nl/ ** +31-15-2137555 **
*-- BitWizard writes Linux device drivers for any device you may have! --*
* The Worlds Ecosystem is a stable system. Stable systems may experience *
* excursions from the stable situation. We are currenly in such an       * 
* excursion: The stable situation does not include humans. ***************
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Sep 15 2002 - 22:00:20 EST