43 lines · plain
1=====================================================================2Platform Profile Selection (e.g. /sys/firmware/acpi/platform_profile)3=====================================================================4 5On modern systems the platform performance, temperature, fan and other6hardware related characteristics are often dynamically configurable. The7platform configuration is often automatically adjusted to the current8conditions by some automatic mechanism (which may very well live outside9the kernel).10 11These auto platform adjustment mechanisms often can be configured with12one of several platform profiles, with either a bias towards low power13operation or towards performance.14 15The purpose of the platform_profile attribute is to offer a generic sysfs16API for selecting the platform profile of these automatic mechanisms.17 18Note that this API is only for selecting the platform profile, it is19NOT a goal of this API to allow monitoring the resulting performance20characteristics. Monitoring performance is best done with device/vendor21specific tools such as e.g. turbostat.22 23Specifically when selecting a high performance profile the actual achieved24performance may be limited by various factors such as: the heat generated25by other components, room temperature, free air flow at the bottom of a26laptop, etc. It is explicitly NOT a goal of this API to let userspace know27about any sub-optimal conditions which are impeding reaching the requested28performance level.29 30Since numbers on their own cannot represent the multiple variables that a31profile will adjust (power consumption, heat generation, etc) this API32uses strings to describe the various profiles. To make sure that userspace33gets a consistent experience the sysfs-platform_profile ABI document defines34a fixed set of profile names. Drivers *must* map their internal profile35representation onto this fixed set.36 37If there is no good match when mapping then a new profile name may be38added. Drivers which wish to introduce new profile names must:39 40 1. Explain why the existing profile names cannot be used.41 2. Add the new profile name, along with a clear description of the42 expected behaviour, to the sysfs-platform_profile ABI documentation.43