Re: [patch] disable_bh/enable_bh race fix [Re: Program to freeze keyboard in 2.1.131]

Linus Torvalds (torvalds@transmeta.com)
Sun, 27 Dec 1998 21:13:12 -0800 (PST)


On Mon, 28 Dec 1998, Andrea Arcangeli wrote:
>
> But now I can' t see again why we doesn't wait_on_bh in synchronize_bh if
> we are running in a irq handler...

Basically, think about the interactions of

CPU#1 CPU#2

irq handler bottom half handler
wait_on_bh(); cli();

and I've solved it by simply prioiritizing in a very simple manner:
hardware interrupts have "higher priority" than bottom half handlers, and
as such a hardware interrupt will never wait for a bottom half handler.
Deadlock avoided.

Linus

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