Subject: Re: callout(9), IPL_NONE and IPL_SOFTCLOCK
To: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
From: Juan RP <juan@xtrarom.org>
List: tech-kern
Date: 05/12/2007 10:57:33
On Sat, 12 May 2007 17:42:00 +0900 (JST)
yamt@mwd.biglobe.ne.jp (YAMAMOTO Takashi) wrote:

> > Andrew (or someone else), do you know what is it? I mean, why do
> > I have to change all mutexes inside of the callout to IPL_SOFTCLOCK?
> 
> have you read mutex(9)?

That's what happens:

* sme_evtick runs at IPL_SOFTCLOCK.
* sme_gtredata is called from sme_evtick.
* sme_gtredata uses AcpiEvaluateObject in aiboost(4).
* AcpiEvaluateObject uses AcpiOsAcquireMutex.
* AcpiOsAcquireMutex uses IPL_NONE.

Boom.

-- 
http://plog.xtrarom.org/
Juan RP's blog - NetBSD/pkgsrc news in Spanish