Linux Could Soon Have A New Knob For Toggling Performance/Power-Profile For Laptops
With upstream work Red Hat is engaged in for supporting HP and Lenovo laptops on Linux, a new standardized sysfs interface is being discussed for exposing the performance-profile option on newer laptops so users can more easily select their desired laptop power/performance characteristics.
A standardized/common sysfs class was brought up by Red Hat's Hans de Goede for allowing controls over the performance profile on newer laptops in letting users choose between achieving maximum performance or extended battery life. It's similar to say the likes of the P-State/CPUFreq frequency scaling governor options but more at a platform level for newer laptops. In turn user-space and different desktop environments can support this standardized sysfs interface for having uniform control over the performance profile without relying upon driver-specific implementations.
With the proposed interface, profiles would be exposed under /sys/class/performance_profile/[device]/ with an available_profiles file to show supported profiles, current_profile to read/write the desired or current profile, and type for indicating if the profile is system-wide or targeted to a specific device like a CPU or GPU.
The expected standard profiles are low-power for focusing on consuming the least amount of power, balanced-low-power for having low power but with a slight performance bias, balanced, balanced with a slight bias towards performance, or a performance profile to achieve maximum performance even if it means higher operating temperatures / power consumption / fan speeds.
The proposed interface can be found via the kernel mailing list. One of Dell's Linux engineers did question why would the standard allow multiple performance-profiles potentially per system rather than just a single /sys/power/performance-profile/. We'll see though how this changes before ultimately being mainlined in a future kernel release. From other discussions it appears the likes of HP and Lenovo would like these patches upstreamed sooner rather than later.
There are already work-in-progress patches to the ThinkPad ACPI and HP WMI Linux drivers for performance profile handling with newer devices.
A standardized/common sysfs class was brought up by Red Hat's Hans de Goede for allowing controls over the performance profile on newer laptops in letting users choose between achieving maximum performance or extended battery life. It's similar to say the likes of the P-State/CPUFreq frequency scaling governor options but more at a platform level for newer laptops. In turn user-space and different desktop environments can support this standardized sysfs interface for having uniform control over the performance profile without relying upon driver-specific implementations.
With the proposed interface, profiles would be exposed under /sys/class/performance_profile/[device]/ with an available_profiles file to show supported profiles, current_profile to read/write the desired or current profile, and type for indicating if the profile is system-wide or targeted to a specific device like a CPU or GPU.
The expected standard profiles are low-power for focusing on consuming the least amount of power, balanced-low-power for having low power but with a slight performance bias, balanced, balanced with a slight bias towards performance, or a performance profile to achieve maximum performance even if it means higher operating temperatures / power consumption / fan speeds.
The proposed interface can be found via the kernel mailing list. One of Dell's Linux engineers did question why would the standard allow multiple performance-profiles potentially per system rather than just a single /sys/power/performance-profile/. We'll see though how this changes before ultimately being mainlined in a future kernel release. From other discussions it appears the likes of HP and Lenovo would like these patches upstreamed sooner rather than later.
There are already work-in-progress patches to the ThinkPad ACPI and HP WMI Linux drivers for performance profile handling with newer devices.
6 Comments