From owner-freebsd-current@FreeBSD.ORG Wed Oct 3 16:51:05 2007 Return-Path: Delivered-To: freebsd-current@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B36D116A421; Wed, 3 Oct 2007 16:51:05 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from anuket.mj.niksun.com (gwnew.niksun.com [65.115.46.162]) by mx1.freebsd.org (Postfix) with ESMTP id 73ECC13C469; Wed, 3 Oct 2007 16:51:05 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from niksun.com (anuket [10.70.0.5]) by anuket.mj.niksun.com (8.13.6/8.13.6) with ESMTP id l93Gp4Y4086540; Wed, 3 Oct 2007 12:51:04 -0400 (EDT) (envelope-from jkim@FreeBSD.org) From: Jung-uk Kim To: freebsd-acpi@FreeBSD.org Date: Wed, 3 Oct 2007 12:50:59 -0400 User-Agent: KMail/1.6.2 References: <470002B5.6030002@root.org> <4703BD8D.1080501@root.org> <4703C08B.6040703@gmail.com> In-Reply-To: <4703C08B.6040703@gmail.com> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200710031251.02304.jkim@FreeBSD.org> X-Virus-Scanned: ClamAV 0.90.2/4461/Wed Oct 3 04:50:48 2007 on anuket.mj.niksun.com X-Virus-Status: Clean Cc: "Dana H. Myers" , freebsd-current@FreeBSD.org, Nate Lawson Subject: Re: patch: change in acpi taskq behavior X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Oct 2007 16:51:05 -0000 On Wednesday 03 October 2007 12:17 pm, Dana H. Myers wrote: > Nate Lawson wrote: > > 1. Run a task at some point in the future but "soon" > > 2. Queue a task to be run, definitely after boot is complete > > > > Notifies are in the first class. Initialization functions for > > the various drivers are in the second. ACPI-CA is moving to > > making all Notifies completely synchronous (i.e. they wait for > > the thread to run). > > Note that I've encountered an issue with synchronous Notify in the > Solaris port of ACPI CA on a particular machine. > > Specifically, the Acer Ferrari 3400 deadlocks while delivering > AC/battery events, since Notify() is performed while holding > a mutex. The AC/battery driver notify handler evaluates _STA > and _BST, and either of these attempt to hold the same mutex. Ha, my laptop at work is Acer Ferrari 3400. :-) > Bob Moore and I have been discussing solutions for this but > have nothing firm at this point. > > While I suppose I *could* make the AC/battery driver Notify > handler behave like a high-level interrupt and simply schedule > yet another thread to run to handle the Notify, this scheme > generally ends up the same as asynchronous Notify in the first > place. Precisely. Jung-uk Kim