Date: Mon, 25 Apr 2011 17:51:11 -0400 From: Alexandre Kovalenko <bsd.gaijin@gmail.com> To: Bartosz Fabianowski <freebsd@chillt.de> Cc: freebsd-stable@freebsd.org Subject: Re: System extremely slow under light load Message-ID: <BANLkTimdmYUiukrR1F-jZCUD2dOwc5Jncg@mail.gmail.com> In-Reply-To: <4DB5751B.2050903@chillt.de> References: <BANLkTi=c3zxYeUqvmsHkyoD6MbXafkK-RA@mail.gmail.com> <4DB5751B.2050903@chillt.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Apr 25, 2011 at 9:20 AM, Bartosz Fabianowski <freebsd@chillt.de> wr= ote: >> >> I am not sure tz0 is the real thermal zone, especially given values >> of _tc1, _tc2 and _tsp. Temperature value (3001) =A0looks suspicious as >> well. > > I agree. tz0 looks entirely bogus. There is no second fan to control for = it and I have no idea what it is supposed to be monitoring. > >> Can you, by any chance, put your ASL someplace accessible and provide >> a description of what you have done to fix the temperature >> reporting. > > Certainly. I have uploaded the files at [1] through [5]. > > The DSDT source returned by acpidump -d is at [1]. I modified this so tha= t it can be compiled back into AML without errors or warnings. This modifie= d source is at [2]. It contains no functional changes. The thermal zones ar= e still broken. A variant with fixed tz1 is at [3]. > > For convenience, I have also uploaded diffs between these source files. [= 4] is the diff required to make the source compile (difference between [1] = and [2]). [5] is the actual change I made to fix tz1 (difference between [2= ] and [3]). As you can see, all I did was to remove a bogus function that e= nds up always returning 0=B0C. > >> As the side note: I have seen and do own pieces of equipment that >> use thermal zones to initiate critical shutdown for various and >> unrelated reasons. > > In my case, the thermal zone and its various tripping points do correspon= d to the actual system fan. It is just that the BIOS enforces power managem= ent itself, ignoring ACPI - except for critical shutdown which appears to b= e triggered by ACPI only. Did you try to set OS override to any of the values, recognized by your BIOS, with most interesting being=A0 "Windows 2001 SP2", "Windows 2006" and "Windows 2009". There is no obvious impact on the thermal part per se, but at least some of values seem to change the timer configuration. You can change your OS name by setting hw.acpi.osname=3D<one of those strings> in /boot/loader.conf (http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/acpi-debug.html)= . Additionally, could you, by any chance, replace _TMP method in TZ01 with the snippet below and let me know what the result is: =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 Method (_TMP, 0, Serialized) =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 { =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 If (LEqual (\_SB.PCI0.LPCB.EC= 0.EIDL, 0xDD)) =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 { =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 Return (0x0BB8) =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 If (LAnd (DTSE, ETMD)) =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 { =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 If (LGreater (\_S= B.PCI0.LPCB.EC0.DTS2, \_SB.PCI0.LPCB.EC0.DTS1)) =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 { =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 Store= (\_SB.PCI0.LPCB.EC0.DTS2, Local0) =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 Else =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 { =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 Store= (\_SB.PCI0.LPCB.EC0.DTS1, Local0) =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 Return (Add (0x0A= AC, Multiply (Local0, 0x0A))) =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 If (LAnd (ECON, ETMD)) =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 { =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 Acquire (\_SB.PCI= 0.LPCB.EC0.MUT0, 0xFFFF) =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 Store (\_SB.PCI0.= LPCB.EC0.DTS1, Local0) =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 Release (\_SB.PCI= 0.LPCB.EC0.MUT0) =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 If (And (Local0, = 0x80)) =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 { =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 Subtr= act (Local0, 0x0100, Local0) =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 Return (Add (0x0A= AC, Multiply (Local0, 0x0A))) =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 Return (0x0BB8) =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } I assume, since you have already modified your ASL, you do realize all of the pitfalls of this activity, including but not limited to turning your laptop into molten blob of plastic ;) > > - Bartosz > > [1] http://www.fabianowski.de/dsdt/decompiled.asl > [2] http://www.fabianowski.de/dsdt/compilable.asl > [3] http://www.fabianowski.de/dsdt/fixed.asl > [4] http://www.fabianowski.de/dsdt/decompile_compilable.diff > [5] http://www.fabianowski.de/dsdt/compilable_fixed.diff > _______________________________________________ > freebsd-stable@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-stable > To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org" Alexandre "Sunny" Kovalenko.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BANLkTimdmYUiukrR1F-jZCUD2dOwc5Jncg>