Back to home page

OSCL-LXR

 
 

    


0001 =====================================================================
0002 Platform Profile Selection (e.g. /sys/firmware/acpi/platform_profile)
0003 =====================================================================
0004 
0005 On modern systems the platform performance, temperature, fan and other
0006 hardware related characteristics are often dynamically configurable. The
0007 platform configuration is often automatically adjusted to the current
0008 conditions by some automatic mechanism (which may very well live outside
0009 the kernel).
0010 
0011 These auto platform adjustment mechanisms often can be configured with
0012 one of several platform profiles, with either a bias towards low power
0013 operation or towards performance.
0014 
0015 The purpose of the platform_profile attribute is to offer a generic sysfs
0016 API for selecting the platform profile of these automatic mechanisms.
0017 
0018 Note that this API is only for selecting the platform profile, it is
0019 NOT a goal of this API to allow monitoring the resulting performance
0020 characteristics. Monitoring performance is best done with device/vendor
0021 specific tools such as e.g. turbostat.
0022 
0023 Specifically when selecting a high performance profile the actual achieved
0024 performance may be limited by various factors such as: the heat generated
0025 by other components, room temperature, free air flow at the bottom of a
0026 laptop, etc. It is explicitly NOT a goal of this API to let userspace know
0027 about any sub-optimal conditions which are impeding reaching the requested
0028 performance level.
0029 
0030 Since numbers on their own cannot represent the multiple variables that a
0031 profile will adjust (power consumption, heat generation, etc) this API
0032 uses strings to describe the various profiles. To make sure that userspace
0033 gets a consistent experience the sysfs-platform_profile ABI document defines
0034 a fixed set of profile names. Drivers *must* map their internal profile
0035 representation onto this fixed set.
0036 
0037 If there is no good match when mapping then a new profile name may be
0038 added. Drivers which wish to introduce new profile names must:
0039 
0040  1. Explain why the existing profile names canot be used.
0041  2. Add the new profile name, along with a clear description of the
0042     expected behaviour, to the sysfs-platform_profile ABI documentation.