Re: hard lock using combination of devices

From: Richard B. Johnson
Date: Tue Feb 17 2004 - 09:40:37 EST



Linux interrupt code does shared interrupts fine.
There may be a bad driver so you need to find which
one it is and contact its author. There are still
entirely too many drivers that loop in the ISR, ...
so-called "interrupt mitigation"... If you are
using one such creation, find the loop terminating
variable and squash it to where it will not loop.
Magically, everything will start to work and share
wonderfully.

There is a big difference between maximizing the through-put
of a device and getting all devices to play nicely together.
Often device-driver writers think only of their hardware and
don't bother to think about the consequences of keeping
the CPU practically forever. For instance, a network card
will probably always have new packets available on an active
network. If you loop to get them all, you loop forever.

On Tue, 17 Feb 2004, Carl Thompson wrote:

> Quoting vda <vda@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>:
>
> > On Tuesday 17 February 2004 09:14, Carl Thompson wrote:
> >> Quoting vda <vda@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>:
> >> > ...
> >> >
> >> > Your box share IRQs in a big way :)
> >>
> >> Your point?
> >
> > While shared interrupts can in theory work right,
> > lots of hardware and/or drivers do not handle
> > that.
>
> First, the two devices in question are not on the same interrupt. Second, it
> is very difficult in this day in age to build a system without interrupt
> sharing. While I agree that it's better to have as few devices sharing as
> possible, there are simply too many devices in modern systems and too few
> interrupts. Interrupt sharing needs to work on modern hardware and needs to
> work in Linux. This notebook is pretty typical in its interrupt distribution
> and I'm not certain that this is a problem. In fact, while many devices on
> this system use IRQ 11 the only one active at the time was the audio
> controller. And while IRQ 10 is shared between the CardBus adapters and the
> video card the problems still occur if I don't run X and video interrupts
> shouldn't be generated in console mode, right?
>
> > I think you should try to reconfigure your
> > system so that devices do not share same IRQ
> > and see whether that 'fix' the problem.
>
> There are no options in my notebook's BIOS to reconfigure interrupts or
> disable
> devices.
>
> > BTW, can you show your /proc/interrupts ?
>
> Attached.
>
> > --
> > vda
>
> Carl Thompson
>

Cheers,
Dick Johnson
Penguin : Linux version 2.4.24 on an i686 machine (797.90 BogoMips).
Note 96.31% of all statistics are fiction.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/