I made some effort to reduce power usage on mobile platforms to help my laptop to run cooler. We are still far from other more common platforms, but it's much better than it was. Note, that defualts are not changed, so if you want to use new features, you have to do some tuning work.
acpi_cpu(4) was updated to the latest code from FreeBSD HEAD which allows to use higher lower (in sense of power usage) C states on modern multicore CPUs. hw.acpi.cpu.cx_lowest: C3 hw.cpu0.cx_supported: C1/1 C2/1 C3/17 hw.cpu0.cx_lowest: C3 hw.cpu0.cx_usage: 0.00% 2.01% 97.98% hw.cpu1.cx_supported: C1/1 C2/1 C3/17 hw.cpu1.cx_lowest: C3 hw.cpu1.cx_usage: 0.00% 1.30% 98.69% Default cx_lowest is C1, you have to change it with sysctl(3). You can change it per cpu (hw.cpuN.cx_lowest) or for all CPU's (cores) at once (hw.acpi.cpu.cx_lowest). hw.cpuN.cx_supported tells you what staes are supported and what is latency impact. hw.cpuN.cx_usage gives to you some stats. I also brought in quite minimal patchset from FreeBSD pci(4) code which allows to put not used (devices with no drivers attached) PCI devices into D3 state (deep sleep). Default is again not to use D3 and to use the feature you have to use hw.pci.do_power_nodriver tunable (see sysctl -d hw.pci.do_power_nodriver for values you can use). enjoy, -- Hasso Tepper
