public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Strange C3/C4 sleep state behaviour
@ 2008-05-15 21:11 Pascal Brückner
  2008-05-15 22:18 ` Björn Steinbrink
  0 siblings, 1 reply; 2+ messages in thread
From: Pascal Brückner @ 2008-05-15 21:11 UTC (permalink / raw)
  To: linux-kernel

Hello!

I'm recompiling my kernel recently to optimize the power usage of my
laptop (IBM ThinkPad X31). So far, my most efficient kernel at the
moment is a self-compiled 2.6.22 with phc patches for undervolting,
suspend2/tuxonice and hrtimers patches to force HPET on my ICH4-M chipset.

Because everyone says, that newer kernel revisions are much more energy
efficient than my 2.6.22, i tried to compile one to reach at least the
energy usage of my recent kernel.
Sadly, this doesn't work because of only one issue:
With activated wireless networking (atheros chipset with recent madwifi
driver) i'm losing much energy due to the fact, that my cpu is
significant more in C2 state than in C3/C4.

With 2.6.22 the Pentium M reaches according to powertop 70-80% C3/C4
sleep states, but with newer kernels only 30-40% are left with the same
kernel config and the same patches (and same userland, of course).
The result is a 20 to 30 minutes reduced runtime of a laptop and a
frustrated user, who has no more ideas what module or setting could
cause this behaviour.

I've tried a stable 2.6.23, 2.6.24 last  vanilla and from Debian
repository and the recent 2.6.26-rc2, with and without zen-sources
(patchset).

The people in madwifi IRC already told me that it may be a kernel issue,
so my last hope is this mailing list.

System specs:

IBM ThinkPad X31
Centrino (1st generation)
Banias Pentium M 1.4 GHz

part of lspci output

00:00.0 Host bridge: Intel Corporation 82855PM Processor to I/O
Controller (rev 03)
00:01.0 PCI bridge: Intel Corporation 82855PM Processor to AGP
Controller (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM
(ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 01)
00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM
(ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 01)
00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM
(ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 01)
00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2
EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 81)
00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface
Bridge (rev 01)
00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE
Controller (rev 01)
02:02.0 Ethernet controller: Atheros Communications Inc. AR5212
802.11abg NIC (rev 01)

Powertop output kernel 2.6.22:
Cn                 Verweildauer       P-States (Frequenzen)
C0 (Prozessor läuft)    ( 1,0%)         1400 MHz   100,0%
C1                0,0ms ( 0,0%)         1200 MHz     0,0%
C2                7,0ms (16,0%)         1000 MHz     0,0%
C3               15,9ms (83,0%)          800 MHz     0,0%


Aufwachen pro Sekunde : 75,1    Intervall: 15,0s
Stromverbrauch (nach ACPI): 11,4W (3,5 Std.)

Häufigste Ursachen für das Aufwachen:
   45,3% ( 32,1)       <interrupt> : uhci_hcd:usb1, uhci_hcd:usb2,
uhci_hcd:usb3, ehci_hcd:usb4, ohci1394, yenta, yenta, wifi0, Intel
82801DB-ICH4 Modem, Intel 82801DB-IC
   25,4% ( 18,0)       <interrupt> : acpi
    7,1% (  5,0)               tpb : do_nanosleep (hrtimer_wakeup)
    4,2% (  3,0)           xfsbufd : schedule_timeout (process_timeout)
    3,8% (  2,7)       <interrupt> : ide0

Powertop output kernel 2.6.26-rc2:
Cn                 Verweildauer       P-States (Frequenzen)
C0 (Prozessor läuft)    ( 2,0%)         1400 MHz     0,0%
C1                0,0ms ( 0,0%)         1200 MHz     0,0%
C2               18,4ms (73,8%)         1000 MHz     0,0%
C3               11,2ms (24,1%)          600 MHz   100,0%


Aufwachen pro Sekunde : 61,6    Intervall: 15,0s
Stromverbrauch (nach ACPI): 13,0W (3,0 Std.)

Häufigste Ursachen für das Aufwachen:
   50,6% ( 31,1)       <interrupt> : uhci_hcd:usb1, uhci_hcd:usb2, 
uhci_hcd:usb3, ehci_hcd:usb4, Intel 82801DB-ICH4 Modem, Intel 
82801DB-ICH4, yenta, yenta, ohci1394, wif
    8,1% (  5,0)               tpb : do_nanosleep (hrtimer_wakeup)
    5,7% (  3,5)       <interrupt> : acpi
    4,9% (  3,0)           xfsbufd : schedule_timeout (process_timeout)
    4,9% (  3,0)           xfsaild : schedule_timeout (process_timeout)


Thanks in advance!

Pascal

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Strange C3/C4 sleep state behaviour
  2008-05-15 21:11 Strange C3/C4 sleep state behaviour Pascal Brückner
@ 2008-05-15 22:18 ` Björn Steinbrink
  0 siblings, 0 replies; 2+ messages in thread
From: Björn Steinbrink @ 2008-05-15 22:18 UTC (permalink / raw)
  To: Pascal Brückner; +Cc: linux-kernel

On 2008.05.15 23:11:00 +0200, Pascal Brückner wrote:
> Hello!
>
> I'm recompiling my kernel recently to optimize the power usage of my
> laptop (IBM ThinkPad X31). So far, my most efficient kernel at the
> moment is a self-compiled 2.6.22 with phc patches for undervolting,
> suspend2/tuxonice and hrtimers patches to force HPET on my ICH4-M chipset.
>
> Because everyone says, that newer kernel revisions are much more energy
> efficient than my 2.6.22, i tried to compile one to reach at least the
> energy usage of my recent kernel.
> Sadly, this doesn't work because of only one issue:
> With activated wireless networking (atheros chipset with recent madwifi
> driver) i'm losing much energy due to the fact, that my cpu is
> significant more in C2 state than in C3/C4.

Do you have CONFIG_CPU_IDLE enabled? That made a huge difference for me.
Before that was available, _disabling_ CONFIG_NO_HZ also helped when
wifi was enabled (but IIRC made things worse with wifi disabled).

Björn

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-05-15 22:18 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-15 21:11 Strange C3/C4 sleep state behaviour Pascal Brückner
2008-05-15 22:18 ` Björn Steinbrink

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox