Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Mar 2012 13:41:03 -0400
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "src-committers@freebsd.org" <src-committers@freebsd.org>
Subject:   Re: svn commit: r233249 - head/sys/amd64/acpica
Message-ID:  <201203211341.11859.jkim@FreeBSD.org>
In-Reply-To: <20120321100722.GP2358@deviant.kiev.zoral.com.ua>
References:  <201203202037.q2KKbNfK037014@svn.freebsd.org> <20120321100722.GP2358@deviant.kiev.zoral.com.ua>

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201203211341.11859.jkim>