cvs commit: src/sys/kern subr_power.c
scottl at samsco.org
Wed Nov 9 13:56:06 GMT 2005
Bruce Evans wrote:
> On Wed, 9 Nov 2005, Warner Losh wrote:
>> Modified files:
>> sys/kern subr_power.c
>> Kick off the suspend sequence from the keyboard in a SWI rather than
>> in the hardware interrupt context (even if it is likely just an
>> ithread). We don't document that suspend/resume routines are run from
>> such a context and some of the things that happen in those routines
>> aren't interrupt safe. Since there's no real need to run from that
>> context, this restores assumptions that suspend routines have made.
>> This fixes Thierry Herbelot's 'Trying to sleep while sleeping is
>> prohibited' problem.
> Er, SWIs are interrupts too. Trying to sleep in a SWI handler should
> cause the same message. This commit uses the general taskqueue SWI
> handler. taskqueue(9) implicitly says that only the taskqueue thread
> handler can sleep (it gives malloc(M_WAITOK) as an example of something
> that can only be done in thread context).
You're right, but sleeping in SWI's has never been enforced. CAM relies
on it, for better or worse, and until that's fixed it's pointless to
start enforcing it.
More information about the cvs-src