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