[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-arm-kernel
Subject:    where is kernel timer activated?
From:       Yifan Zhu <yzhu2 () unity ! ncsu ! edu>
Date:       2003-09-26 19:00:44
[Download RAW message or body]

Hi,
I'm looking at the the kernel src (2.4.19-rmk6-pxa1 ) and I'm wondering
where a kernel timer handler ( implemented as a TIMER_BH bottom half )
is actually executed after a hardware timer interrupt? It's said bottom
halves will be executed when:
" The kernel terminates the do_IRQ() function--that is, it finishes
handling an interrupt"
But when I checked the do_IRQ() function (and asm_do_IRQ ), it seems it
simply returns to the preempted task. Where and when will the TIMER_BH
handler (if it's waiting) be executed?
If do_IRQ() still returns to a kernel context (eg., a kernel module ),
does that mean the TIMER_BH handler will not be executed untill the
whole kernel module exits (since Linux kernel context is non-preemptable) ?

Thanks!

Yifan



-------------------------------------------------------------------
Subscription options: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel
FAQ/Etiquette:       http://www.arm.linux.org.uk/armlinux/mailinglists.php

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic