Re: Faster timers for Linux 2.1.22

Ingo Molnar (
Tue, 28 Jan 1997 09:57:32 +0100 (MET)

On Mon, 27 Jan 1997, Theodore Y. Ts'o wrote:

> From: Keith Owens <>
> Date: Mon, 27 Jan 1997 12:01:00 +1100
> As for 'buffering', after disable_bh is called, the next interrupt of
> any kind including (AFAIK) the timer tick will run any outstanding
> bottom half code. This takes precedence over user driven code. It's a
> tradeoff, a more local lock and a slightly delayed bh against a global
> lock that hits every piece of code.
> Bottom half routines are run when the kernel is on its way out to
> user-mode. [...]

with one small exception if my understanding of entry.S is correct:

#ifdef __SMP__
cmpl $0,SYMBOL_NAME(intr_count)
jne 1f
9: movl SYMBOL_NAME(bh_mask),%eax
andl SYMBOL_NAME(bh_active),%eax
jne handle_bottom_half

Thus 'slow irq handlers' (keyboard, some networking drivers) and the timer
irq [they all take the ret_from_sys_call path] call 'do_bottom_half()'
even if they interrupt kernel code.

-- mingo