From owner-svn-src-all@FreeBSD.ORG Thu Mar 22 14:09:21 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1EB6A106564A; Thu, 22 Mar 2012 14:09:21 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id E209C8FC0A; Thu, 22 Mar 2012 14:09:20 +0000 (UTC) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [96.47.65.170]) by cyrus.watson.org (Postfix) with ESMTPSA id 7E8EC46B0C; Thu, 22 Mar 2012 10:09:20 -0400 (EDT) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id DB419B943; Thu, 22 Mar 2012 10:09:19 -0400 (EDT) From: John Baldwin To: Andriy Gapon Date: Thu, 22 Mar 2012 07:48:49 -0400 User-Agent: KMail/1.13.5 (FreeBSD/8.2-CBSD-20110714-p10; KDE/4.5.5; amd64; ; ) References: <201203202037.q2KKbNfK037014@svn.freebsd.org> <201203211502.14353.jkim@FreeBSD.org> <4F6AF1CB.80902@FreeBSD.org> In-Reply-To: <4F6AF1CB.80902@FreeBSD.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201203220748.49635.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Thu, 22 Mar 2012 10:09:20 -0400 (EDT) Cc: Konstantin Belousov , "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" , Jung-uk Kim Subject: Re: svn commit: r233249 - head/sys/amd64/acpica X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Mar 2012 14:09:21 -0000 On Thursday, March 22, 2012 5:32:59 am Andriy Gapon wrote: > on 21/03/2012 21:02 Jung-uk Kim said the following: > > On Wednesday 21 March 2012 01:57 pm, Andriy Gapon wrote: > >> on 21/03/2012 19:41 Jung-uk Kim said the following: > >>> 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. > >> > >> But the bug still has to be fixed, right? > >> Even if it takes a non-default sysctl value to give the bug a > >> chance. > > > > Ideally, yes. However, I am not so sure if we can call it a "bug" > > because AcpiEnterSleepState() must be called with interrupt disabled > > and there is no way to change that API without breaking other OSes. > > We can only work around it locally or persuade upstream to find a > > better way to do this in ACPICA itself. Either way, it will be > > pretty hackish. :-( > > I see. Thank you. > Maybe the code could be somehow tricked into using M_NOWAIT in this context... That still wouldn't be good enough. We don't want to try to acquire any regular mutexes either (we can't safely block to let the lock owner run, or the lock owner might be a suspended thread on another CPU, etc.). The only proper way to fix this would be to use pre-allocated storage in this particular case, but given that Windows doesn't invoke these methods on suspend/resume, it's doubtful that we will ever need to do so. -- John Baldwin