Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 1 Oct 2011 13:44:56 +0800
From:      Adrian Chadd <adrian@freebsd.org>
To:        Alexander Motin <mav@freebsd.org>
Cc:        freebsd-hackers@freebsd.org
Subject:   how are callouts handled in cpu_idle() ?
Message-ID:  <CAJ-Vmoksy68YmTXAQ1S87-%2BFMUHjZ-K0TOV0OUm3hQpYGZhXHw@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmoksy68YmTXAQ1S87-%2BFMUHjZ-K0TOV0OUm3hQpYGZhXHw>