lkml.org 
[lkml]   [1997]   [Jan]   [28]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateTue, 28 Jan 1997 09:57:32 +0100 (MET)
FromIngo Molnar <>
SubjectRe: Faster timers for Linux 2.1.22
On Mon, 27 Jan 1997, Theodore Y. Ts'o wrote:

>    From: Keith Owens <kaos@ocs.com.au>
>    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:

------------------------------------------->
ret_from_sys_call:
#ifdef __SMP__
        GET_CURRENT
#endif
        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


\
 
 \ /
  Last update: 2005-03-22 12:38    [from the cache]
©2003-2008