[Bugme-new] [Bug 8842] New: performance regression, cause: trip_points file is read only since 2.6.22

bugme-daemon at bugzilla.kernel.org bugme-daemon at bugzilla.kernel.org
Sat Aug 4 00:03:10 PDT 2007


http://bugzilla.kernel.org/show_bug.cgi?id=8842

           Summary: performance regression, cause: trip_points file is read
                    only since 2.6.22
           Product: ACPI
           Version: 2.5
     KernelVersion: 2.6.22
          Platform: All
        OS/Version: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: Power-Thermal
        AssignedTo: acpi_power-thermal at kernel-bugs.osdl.org
        ReportedBy: Knut_Petersen at t-online.de
                CC: len.brown at intel.com


Most recent kernel where this bug did not occur: 2.6.21

Distribution: openSuSE 10.2

Hardware Environment: AOpen i915GMm-hfs mainboard, Pentium-M 750. Although
a Pentium M and a mobile chipset is used, don´t believe that this is a
laptop. It´s a normal ATX board for server/desktop/htpc use!

Problem Description: The mainboard BIOS is broken, but that was not
a problem as long as it was possible to provide thermal.c with some
more reasonable data by writing to the trip_points file. Now there 
is a 50% performance regression - kernel compile time increase:
2.6.21: 12min, 2.6.22.1 18 min.

mainboard details
------------------
thermal.c is unable to control the cpu fan and complains about that:

ACPI: Unable to turn cooling device [c18dc9dc] 'on'
bus-0201 [-411] bus_set_power: Device `[PNP0C0B:00]' is not power manageable

The BIOS provides the following trip points for both passive and active
cooling mode:

critical (S5):           100 C
passive:                 50 C: tc1=4 tc2=3 tsp=60 devices=CPU0
active[0]:               50 C: devices= FAN

These trip points are stored as dK values in the BIOS data:
DSDT: OperationRegion (TEMM, SystemMemory, 0x000FF810, 0x0C)

linux:~ # hexdump -C -s 0x000FF810  -n 12 /dev/mem
000ff810  a0 0c 6e 0c a0 0c 6e 0c  94 0e 01 00              |..n...n.....|

The BIOS will turn on the cpu fan a bit above 50 degrees Celsius, but
the passive cooling of thermal.c slows down the cpu before that occures.

Linux problems
--------------
The cause is commit 11ccc0f249cb01a129f54760b8ff087f242935d4,
removing te possibility to write to the trip_points file.

In kernels up to 2.6.21 it was possible to use the following trip point setup
critical (S5):           100 C
passive:                 60 C: tc1=4 tc2=3 tsp=60 devices=CPU0
active[0]:               70 C: devices= FAN

The result was that the BIOS would switch on the fan early enough that
neither passive nor active cooling of thermal.c would be activated as long
as the fan was working properly. But in case of fan failure my system would
have been still in a slower but safe state at about 60 degrees Celsius,
ensured by passive cooling code in thermal.c. That is not possible any
longer with kernel 2.6.22. Maybe the BIOS would save my system at
100 degrees Celsius, but I definitely will not test that.


-- 
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.



More information about the Bugme-new mailing list