August 17th, 2008

USB autosuspend

Main goal of USB autosuspend is NOT to save energy by powering down the devices.... that's secondary goal. Primary goal is to let host controller sleep, which in turn enables CPU to sleep.

This matters a lot with machines like thinkpad x60:

thinkpad x60 [75Wh]
~~~~~~~~~~~~                                            
init=/bin/bash (HZ=250)                 14   W
disable USB and sound:                  -3.6 W


..the list goes on with:

idle machine:                           +0.2 W
intel console                           +0.4 W
idle machine, min bl, intel console:    14.6 W
HZ=250, no usb/sound:                   11.0 W
HZ=100, no usb/sound:                   -0.3 W (?)
HZ=1000, no usb/sound:                  +0.2 W (?)
bluetooth enabled + ipw on:             +1.4 W
bluetooth enabled:                      +0.1 W
max bl:                                 +2.1 W (?) + 3 W (when max enabled in bios?)
no bl:                                  -0.9 W
ethernet cable inserted + ifconfig up:  +0.4 W
kernel build (one cpu):                 +19  W
kernel build (two cpus):                +28  W
lower refresh rate (60Hz -> 43Hz)       -0.05W
vga=1 ...                               -0.5 W or so
SVGATextMode 40x12x8                    -0.2 W (additional)
white background instead of black       -0.05W
Xwindows                                +0.1 W (+0.3W?)
Xwindows, 8bit depth                    -0.15W
Xwindows, 8bit depth, 640x480           -0.35W
hdd spindown                            -0.5 W (?)
sound off (echo -n 2 > power/state)     -0.3 W
cardbus bridge off                      -0.03W (?)
firewire off                            -0.00W (?)
mmc off                                 -0.00W (?)
e1000 off                               -0.00W (and driver confused?)
ide controller off                      -0.01W
smbus controller off:                   -0.00W
SATA controller off:                    -1W (and machine dies)
docking station                         +1W
fan:                                    +0.3W (!)


...as you can see, USB and backlight are the entries that matter most. It also explains why I'm playing with SATA/SCSI power management now. Getting the SATA controller off is quite important.

OperaMini "lets force you to upgrade"

OperaMini seems to get slower with each new release... my shiny new UMTS phone is like 2x slower than old 6230, because of newer OperaMini. It seems like new version re-estabilishes GPRS connection each time, or something like that. (Or maybe I have misconfigured phone? Did anyone do timing?)

And now, OperaMini displays "oh we have great operamini4, click here to upgrade" on each and every page you load... and there's no way to make that go away :-(.