Powertop makes suggestions. We wish it wouldn't, because they're often either things the OS could get right for you, or things that actively degrade the user experience beyond their powersaving karma. This is a list of the suggestions it makes, and what we plan to do about them.
- 1 Various kernel config options
- 2 Disable the unused bluetooth interface
- 3 Enable the ondemand cpu speed governor for all processors
- 4 Disable Ethernet Wake-On-Lan
- 5 Enable laptop-mode
- 6 Disable the NMI watchdog
- 7 Enable the HPET in your BIOS or add the kernel patch to force-enable HPET
- 8 Enable AC97 powersave mode
- 9 Enable the noatime filesystem option
- 10 Enable the power aware CPU scheduler
- 11 Increase the VM dirty writeback time
- 12 Enable SATA ALPM link power management
- 13 Enable USB autosuspend
- 14 Enable wireless power saving mode
- 15 Disable the unused WIFI radio
- 16 Disable TV out
Various kernel config options
Options it suggests:
* CONFIG_USB_SUSPEND * ONFIG_CPU_FREQ_GOV_ONDEMAND * CONFIG_NO_HZ * CONFIG_ACPI_BATTERY * CONFIG_HPET_TIMER * CONFIG_SND_AC97_POWER_SAVE * CONFIG_CPU_FREQ_STAT * CONFIG_INOTIFY
These are all enabled in our kernel.
Options it suggests removing:
This is disabled in our kernel.
Nuke these, the user shouldn't be expected to recompile anything. That's our job.
Disable the unused bluetooth interface
This should get resolved with the initscript/udev/hal stuff that checks if there is bluetooth hardware available at all. If there is we probably want the service to be running. So can most likely nuke it.
Enable the ondemand cpu speed governor for all processors
We should already be doing ondemand by default on all processors, so anyone that "knows better" probably shouldn't be warned. Nuke it.
Disable Ethernet Wake-On-Lan
Can we make this a property in NetworkManager and default to off?
I'm not entirely sure what W-O-L would even buy you at runtime. Maybe it controls whether connection sense works? In which case, waking up every five seconds or so to enable/check/disable sounds like the way forward. But if not, it could only possibly affect power usage while suspended.
As Mike also mentioned in the email thread, if an application really depends on data to be written it should use fsync(). So enabling this would be a good idea by default, probably would need a sysctl.conf entry to be enabled by default.
Disable the NMI watchdog
Enable the HPET in your BIOS or add the kernel patch to force-enable HPET
This is actually already in mainline. Should get the message fixed.
Enable AC97 powersave mode
I think we should turn this on by default and quirk buggy laptops in the kernel using a DMI blacklist.
We already have it on in F11:
* CONFIG_SND_AC97_CODEC=m * CONFIG_SND_AC97_POWER_SAVE=y * CONFIG_SND_AC97_POWER_SAVE_DEFAULT=5
and HDA too now, so this hint can be dropped.
Enable the noatime filesystem option
Should just drop this message if we're doing relatime by default, it's close enough to noatime to be identical for power purposes.
Enable the power aware CPU scheduler
Increase the VM dirty writeback time
See above comment for laptop_mode.
We should do this in the kernel by default, and tie it into the PMQOS framework.
Enable USB autosuspend
mjg59 mentioned that some devices don't play nice with this ...
Enable wireless power saving mode
This only works for Intel radio devices, using a horrible Intel only sysfs path. Maybe allow to NetworManager to control this?
Disable the unused WIFI radio
Disable TV out
Should be done by default in the kernel, and activated using randr when needed.