Messages in this thread | | | From | Thomas Schlichter <> | Subject | Re: idle Athlon with IOAPIC is 10C warmer since 2.6.3-bk1 | Date | Fri, 19 Mar 2004 19:55:36 +0100 |
| |
Am Donnerstag, 18. März 2004 01:19 schrieb Ross Dickson:
~~ snip ~~
> > The only way to cool down my CPU was to enable timer_ack. > > I don't know how to help you, but of course I am willing to test > > patches... ;-) Thomas > > I agree with Len Brown's comments to try to examine which power saving > state but if you want to try to brute force C1 state ( only works if > chipset supported ) you could try this patch for process.c, > (ignore the io-apic patch as it is nforce2 specific). > > http://linux.derkeiler.com/Mailing-Lists/Kernel/2004-02/6520.html > The KERNEL ARG to invoke it is "idle=C1halt". > > It has an extra function pointer to prevent the power management idle > routine hikjacking things after the command line arg has requested an idle > routine. > > These idle mods appear to assist more than just nforce2 Athlon boards. > Thomas Herrmann has had success with an SIS740 > > > Hi Ross, > > I just want to let you know that your nforce2_idle patch does work with > > the SiS740 chipset too. While the current ACPI patch already routes the > > timer of the SiS740 to IO-APIC-edge with out the C1halt option of your > > nforce2_idle patch the system locked up when STPGNT was enabled. But > > after I applied your nforce2_idle patch to kernel 2.4.24 together with > > the C1halt kernel boot option, the system runs stable for hours. > > Great work, thanks! > > Best regards, Thomas > > Craig Bradney has put it into the gentoo dev sources also. > http://linux.derkeiler.com/Mailing-Lists/Kernel/2004-03/1746.html
OK, now I had the time to test if different C states are working with following three kernels:
1. 2.6.4-mm2 without the 8259-timer-ack-fix.patch and without the C1halt idle function. 2. 2.6.4-mm2 with the 8259-timer-ack-fix.patch and without the C1 halt idle function enabled. 3. 2.6.4-mm2 with the 8259-timer-ack-fix.patch and with the C1 halt idle function enabled.
I used following script to print the C-state counters on an complete idle machine before and after a 10second interval:
# /bin/sh cat /proc/acpi/processor/CPU0/power sleep 10 cat /proc/acpi/processor/CPU0/power
Now the results:
1.: active state: C2 default state: C1 bus master activity: 00000000 states: C1: promotion[C2] demotion[--] latency[000] usage[00006280] *C2: promotion[--] demotion[C1] latency[100] usage[00300041] C3: <not supported> active state: C2 default state: C1 bus master activity: 00000000 states: C1: promotion[C2] demotion[--] latency[000] usage[00006300] *C2: promotion[--] demotion[C1] latency[100] usage[00310045] C3: <not supported>
2.: active state: C1 default state: C1 bus master activity: 00000000 states: *C1: promotion[C2] demotion[--] latency[000] usage[00000000] C2: promotion[--] demotion[C1] latency[100] usage[00000000] C3: <not supported> active state: C1 default state: C1 bus master activity: 00000000 states: *C1: promotion[C2] demotion[--] latency[000] usage[00000000] C2: promotion[--] demotion[C1] latency[100] usage[00000000] C3: <not supported>
3.: active state: C1 default state: C1 bus master activity: 00000000 states: *C1: promotion[C2] demotion[--] latency[000] usage[00000000] C2: promotion[--] demotion[C1] latency[100] usage[00000000] C3: <not supported> active state: C1 default state: C1 bus master activity: 00000000 states: *C1: promotion[C2] demotion[--] latency[000] usage[00000000] C2: promotion[--] demotion[C1] latency[100] usage[00000000] C3: <not supported>
So, as you can see, the C1halt patch does not help here... ;-(
Regards Thomas Schlichter
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |