From owner-freebsd-acpi@FreeBSD.ORG Mon Jan 7 18:29:03 2008 Return-Path: Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3222316A41B for ; Mon, 7 Jan 2008 18:29:03 +0000 (UTC) (envelope-from robert.moore@intel.com) Received: from mga03.intel.com (mga03.intel.com [143.182.124.21]) by mx1.freebsd.org (Postfix) with ESMTP id F1F9E13C461 for ; Mon, 7 Jan 2008 18:29:02 +0000 (UTC) (envelope-from robert.moore@intel.com) Received: from azsmga001.ch.intel.com ([10.2.17.19]) by azsmga101.ch.intel.com with ESMTP; 07 Jan 2008 10:00:54 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.24,254,1196668800"; d="scan'208";a="360991296" Received: from orsmsx335.jf.intel.com ([10.22.226.40]) by azsmga001.ch.intel.com with ESMTP; 07 Jan 2008 09:47:33 -0800 Received: from orsmsx415.amr.corp.intel.com ([10.22.226.49]) by orsmsx335.jf.intel.com with Microsoft SMTPSVC(6.0.3790.1830); Mon, 7 Jan 2008 09:47:30 -0800 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Date: Mon, 7 Jan 2008 09:47:29 -0800 Message-ID: In-Reply-To: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: GPE handler livelock Thread-Index: AchQoWg+zeEXOKA5RX2GXXN27UeJDwAs0f6w References: <200712311556.lBVFuVZf030567@freefall.freebsd.org><477916E0.2090702@root.org><200712311243.18123.jhb@freebsd.org> <47802510.3040203@root.org> From: "Moore, Robert" To: "Yousif Hassan" , "Nate Lawson" X-OriginalArrivalTime: 07 Jan 2008 17:47:30.0489 (UTC) FILETIME=[60024290:01C85155] Cc: freebsd-acpi@FreeBSD.org Subject: RE: GPE handler livelock X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2008 18:29:03 -0000 This sounds suspiciously like the changes we made to the Notify() handling last year. We attempted to make the notify handler run synchronously with the caller to Notify(), but this created more problems than it solved. We ended up returning the behavior of Notify handlers to be asynchronous: 19 October 2007. Summary of changes for version 20071019: 1) ACPI CA Core Subsystem: Reverted a change to Notify handling that was introduced in version=20 20070508. This version changed the Notify handling from asynchronous to=20 fully synchronous (Device driver Notify handling with respect to the Notify=20 ASL operator). It was found that this change caused more problems than it=20 solved and was removed by most users. >-----Original Message----- >From: owner-freebsd-acpi@freebsd.org [mailto:owner-freebsd- >acpi@freebsd.org] On Behalf Of Yousif Hassan >Sent: Sunday, January 06, 2008 12:18 PM >To: Nate Lawson >Cc: freebsd-acpi@FreeBSD.org >Subject: Re: GPE handler livelock > >Nate wrote: >> Thanks for digging into this. I reviewed this and am trying to figure >> out why the _L00 handler never completes. It keeps getting preempted by >> the next one. To help track this down, try removing these two lines >> from the _L00 method and recompile your ASL: >> >> Acquire (\_TZ.C173, 0xFFFF) >> ... >> Release (\_TZ.C173) >> >> For others who have this problem, instructions on how to recompile and >> load your custom ASL can be found here (11.16.4 and 5): >> http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/acpi-debug.htm l > >I'm not sure if my situation is exactly what you're referring to in >this note, but since my laptop is also an HP (nx6110), and since it also >hangs during thermal zone changes, I tried your suggestion. It didn't >help, unfortunately. I still get mutex problems when the thermal zone >increases. My ASL did not have precisely the Acquire call you listed, >but it did have a similar one in method _L00 called >Acquire (\_TZ.C170, 0xFFFF) and Release (\_TZ.C170). Also this pair >of calls was also found in one other place (further down) in the ASL. >I only removed the first pair in the method you instructed. >FWIW, here are the debug error messages when the machine hangs: > >ACPI Exception (utmutex-0376): AE_TIME, Thread 28 could not acquire Mutex > [0] [20070320] >ACPI Error (exutils-0180): Could not acquire AML Interpreter mutex > [20070320] >ACPI Error (utmutex-0421): Mutex [0] is not acquired, cannot release > [20070320] >ACPI Error (exutils-0250): Could not release AML Interpreter mutex > [20070320] >ACPI Exception (utmutex-0376): AE_TIME, Thread 28 could not acquire Mutex > [0] [20070320] >ACPI Error (exutils-0180): Could not acquire AML Interpreter mutex > [20070320] >ACPI Error (psparse-0626): Method parse/execution failed [\_TZ_.C242] (Node > 0xc321c220), AE_TIME >ACPI Error (psparse-0626): Method parse/execution failed [\_TZ_.TZ1_._TMP] > (Node 0xc321b9c0), AE_TIME >... etc ... > >I put more info into PR 79080. > >Let me know if you want me to try anything else. >--Yousif > >_______________________________________________ >freebsd-acpi@freebsd.org mailing list >http://lists.freebsd.org/mailman/listinfo/freebsd-acpi >To unsubscribe, send any mail to "freebsd-acpi-unsubscribe@freebsd.org"