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>