Re: [patch] Re: setitimer lowlatency-2.2.13-A1 questions

Ingo Molnar (mingo@chiara.csoma.elte.hu)
Mon, 6 Dec 1999 21:51:31 +0100 (CET)


On Mon, 6 Dec 1999, Manfred Spraul wrote:

> Is there a special reason why do_bottom_half() calls __sti() and

for example the timer bh can run for a long time (if there are many timers
expiring at once), so it's not justified to disable interrupts while
bottom halves are running. Also, some historic bottom halves wait for
interrupts to complete by busy-waiting (i think the PC keyboard
led-setting stuff is such).

> __cli() directly? This seems wrong, what about using the normal
> __save_flags()/__sti()/__restore_flags()?

this does not change the fundamental problem: run_bottom_halves() must not
be called if interrupts are disabled, because the breaks local-IRQ
atomicity.

i think in 2.5 (or earlier) we should do a BUG() if enable_bh() is called
with IRQs disabled - this will sort out the problems and solves the
latency issue as well.

-- mingo

-
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/