From owner-freebsd-acpi@FreeBSD.ORG Mon Jan 7 18:35:38 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 30BAF16A419 for ; Mon, 7 Jan 2008 18:35:38 +0000 (UTC) (envelope-from robert.moore@intel.com) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mx1.freebsd.org (Postfix) with ESMTP id EFDD313C45D for ; Mon, 7 Jan 2008 18:35:37 +0000 (UTC) (envelope-from robert.moore@intel.com) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga101.jf.intel.com with ESMTP; 07 Jan 2008 10:35:37 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.24,254,1196668800"; d="scan'208";a="250685498" Received: from orsmsx335.jf.intel.com ([10.22.226.40]) by orsmga002.jf.intel.com with ESMTP; 07 Jan 2008 10:34:30 -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 10:34: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 10:34:30 -0800 Message-ID: In-Reply-To: <47826AAA.6040101@root.org> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: GPE handler livelock Thread-Index: AchRWK+kS0mPCWanQMSVSP41LXXSUgAAqShw References: <200712311556.lBVFuVZf030567@freefall.freebsd.org><477916E0.2090702@root.org><200712311243.18123.jhb@freebsd.org> <47802510.3040203@root.org> <47826AAA.6040101@root.org> From: "Moore, Robert" To: "Nate Lawson" , "Alexey Starikovskiy" X-OriginalArrivalTime: 07 Jan 2008 18:34:30.0684 (UTC) FILETIME=[F0F9DDC0:01C8515B] 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:35:38 -0000 No changes that I know of before 20070508. You'll need to figure out why you are getting another GPE before the _Lxx method completes. There was something like this on Linux with an HP machine, perhaps Alexey can help. As I recall, there was something nasty happening where the TZ trip points had to be reset before the Notify() handler completed, but this ended up causing another GPE, etc. etc. Bob >-----Original Message----- >From: Nate Lawson [mailto:nate@root.org] >Sent: Monday, January 07, 2008 10:09 AM >To: Moore, Robert >Cc: Yousif Hassan; freebsd-acpi@FreeBSD.org >Subject: Re: GPE handler livelock > >Bob, thanks for the reply. That's exactly what my investigation is >showing also. It appears we're still on 20070320 so I'm not sure why >this would affect us though. Perhaps a similar change was already >present? In any case, we should see if an import fixes this. > >Thanks, >Nate > >Moore, Robert wrote: >> 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 >> 20070508. This version changed the Notify handling from asynchronous to >> fully synchronous (Device driver Notify handling with respect to the >> Notify >> ASL operator). It was found that this change caused more problems than >> it >> 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" > >-- >Nate