[linux-audio-user] IRQ conflicts, acpi, and linux audio

Mark Knecht markknecht at gmail.com
Sun Nov 27 17:34:08 EST 2005


On 11/27/05, Lee Revell <rlrevell at joe-job.com> wrote:
> On Sun, 2005-11-27 at 13:12 -0800, Mark Knecht wrote:
> > Sorry, but while this is correct at the software level it is,
> > unfortunately, completely incorrect at the hardware level. While I am
> > not a programmer and do not know myself how to do it, if I write (as
> > an example only) an ISR that simply turns off interrupts and goes into
> > a loop, then since interrupts are off no other interrupt will get
> > through and since the ISR is in a loop it will never return. The
> > machine is locked and you're hung.
> >
> > While I do not suggest that this example is anything other than
> > pathological, it demonstrates the problem.
>
> It does not demonstrate a real world problem.

Agreed.

> If this were to happen it
> would be a grave kernel bug.

I do not think so. The Linux kernel doesn't have a bug if the hardware
interrupt to the processor is never asserted. This is what happened on
the PIC if a lower priority interrupt came along at the wrong time.

>
> In the Linux kernel only drivers that register their ISR with
> SA_INTERRUPT block out ALL other interrupts until they complete.
> Currently the ALSA drivers and system timer do this as the handling of
> those interrupts has RT constraints, and the handlers execute quickly
> anyway.
>
> Lee

I agree that things are in pretty good shape as far as Linux ISR's
seem to go, but that was not always the case...

Cheers,
Mark




More information about the Linux-audio-user mailing list