Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 5 Jan 2008 18:50:02 GMT
From:      "Yousif Hassan" <yousif@alumni.jmu.edu>
To:        freebsd-acpi@FreeBSD.org
Subject:   Re: i386/79080: acpi thermal changes freezes HP nx6110
Message-ID:  <200801051850.m05Io2du048062@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR i386/79080; it has been noted by GNATS.

From: "Yousif Hassan" <yousif@alumni.jmu.edu>
To: <bug-followup@FreeBSD.org>,
	<juho.vuori@kepa.fi>,
	<chardon.frederic@gmail.com>
Cc:  
Subject: Re: i386/79080: acpi thermal changes freezes HP nx6110
Date: Sat, 5 Jan 2008 13:19:08 -0500

 The problem is still found in the most recent 7.0 RC code as well.
 Has something to do with a Mutex lock/unlock problem when the thermal
 zone change occurs - it doesn't appear to be an interrupt storm any
 longer.
 
 It is assuredly ACPI-related, because disabling ACPI makes the freezes
 go away.  However, this laptop does not function well without ACPI so
 it's not a good workaround.  USB devices do not work w/o ACPI, as well
 as other hardware.
 
 There are several suggested workarounds I tried, none of which resoloved
 the issue.  These included building the kernel with apic, disabling apic,
 manually changing the hw.acpi.thermal.tz0.active number (my nx6110
 seems to want to keep it at 1 no matter what), and using the ULE
 scheduler rather than the 4BSD.  Again, none of the above workarounds,
 in any combination, solved the issue.
 
 INFORMATION
 -----------
 Turning on debugging, the following appears right before the lock,
 as soon as temperature rises enough to trigger a change in the zone:
 
 acpi_tz0: _AC3: temperature 68.0 >= setpoint 45.0
 acpi_tz0: _AC2: temperature 68.0 >= setpoint 55.0
 acpi_tz0: _AC3: temperature 67.0 >= setpoint 45.0
 acpi_tz0: _AC2: temperature 67.0 >= setpoint 55.0
 ...etc...
 and then:
 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
 ACPI Error (utmutex-0421): Mutex [0] is not acquired, cannot release 
 [20070320]
 ACPI Error (exutils-0250): Could not release 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_.TZ2_._TMP] 
 (Node 0xc321b8c0), AE_TIME
 ACPI Error (utmutex-0421): Mutex [0] is not acquired, cannot release 
 [20070320]
 ACPI Error (exutils-0250): Could not release AML Interpreter mutex 
 [20070320]
 
 (the errors continue to repeat ad infinitum, and each TZ reports problems)
 
 As a result, you will eventually see:
 
 acpi_tz0: error fetching current temperature -- AE_TIME
 acpi_tz1: error fetching current temperature -- AE_TIME
 (..etc...)
 
 The interesting thing is that THIS PROBLEM DOES NOT APPEAR in FreeBSD
 6.2-RELEASE nor in any of the 6.3-RC variants.  It's unique to FreeBSD
 7, and it involves some of the new ACPI mutex code.
 
 This is definitely a regression for this particular laptop since it worked 
 well
 in 6.x - so as such, maybe it would be worthwhile to investigate this bug.
 It seems general enough that it could affect other laptop ASLs as well.
 
 The ASL dump AND a sysctl dump can be found:
 http://www.far-far-away.com/~yousif/freebsd/
 
 Please let me know if more information is needed.
 
 --Yousif 
 



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