svn commit: r233249 - head/sys/amd64/acpica

Jung-uk Kim jkim at FreeBSD.org
Wed Mar 21 17:41:21 UTC 2012


On Wednesday 21 March 2012 06:07 am, Konstantin Belousov wrote:
> On Tue, Mar 20, 2012 at 08:37:23PM +0000, Jung-uk Kim wrote:
> > Author: jkim
> > Date: Tue Mar 20 20:37:23 2012
> > New Revision: 233249
> > URL: http://svn.freebsd.org/changeset/base/233249
> >
> > Log:
> >   Fix another witness panic.  We cannot enter critical section at
> > all because AcpiEnterSleepState() executes (optional) _GTS method
> > since ACPICA 20120215 (r231844).  To evaluate the method, we need
> > malloc(9), which may sleep.
>
> You papered over the issue, and not fixed it.

Yes, it is a stopgap.

> If sleep may happen, as it is for malloc, you cannot sleep with
> interrupts turned off. This would cause a deadlock at best.

I am well aware of the problem.  In fact, that's why I had to merge 
ACPICA 20120320 rather quickly, which added a new flag to not execute 
_GTS method.  Both _GTS and _BFS are turned off by default.  You can 
control them with a new tunable "debug.acpi.sleep_flags" if you want.  
Please see the updated acpi(4).

Jung-uk Kim


More information about the svn-src-all mailing list