how are callouts handled in cpu_idle() ?

Adrian Chadd adrian at freebsd.org
Sat Oct 1 05:44:57 UTC 2011


Hi,

What happens if this occurs:

* cpu_idle() is entered
* you enter critical_enter() and call cpu_idleclock()
* an interrupt occurs, scheduling an immediate callout
* .. but you've already set the clock register, so it won't be
serviced until the wait returns.

Perhaps interrupts have to be disabled before critical_enter() and
cpu_idletick() to ensure an interrupt-driven callout doesn't get
delayed?


Adrian


More information about the freebsd-hackers mailing list