43 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| =====================================================================
 | |
| Platform Profile Selection (e.g. /sys/firmware/acpi/platform_profile)
 | |
| =====================================================================
 | |
| 
 | |
| On modern systems the platform performance, temperature, fan and other
 | |
| hardware related characteristics are often dynamically configurable. The
 | |
| platform configuration is often automatically adjusted to the current
 | |
| conditions by some automatic mechanism (which may very well live outside
 | |
| the kernel).
 | |
| 
 | |
| These auto platform adjustment mechanisms often can be configured with
 | |
| one of several platform profiles, with either a bias towards low power
 | |
| operation or towards performance.
 | |
| 
 | |
| The purpose of the platform_profile attribute is to offer a generic sysfs
 | |
| API for selecting the platform profile of these automatic mechanisms.
 | |
| 
 | |
| Note that this API is only for selecting the platform profile, it is
 | |
| NOT a goal of this API to allow monitoring the resulting performance
 | |
| characteristics. Monitoring performance is best done with device/vendor
 | |
| specific tools such as e.g. turbostat.
 | |
| 
 | |
| Specifically when selecting a high performance profile the actual achieved
 | |
| performance may be limited by various factors such as: the heat generated
 | |
| by other components, room temperature, free air flow at the bottom of a
 | |
| laptop, etc. It is explicitly NOT a goal of this API to let userspace know
 | |
| about any sub-optimal conditions which are impeding reaching the requested
 | |
| performance level.
 | |
| 
 | |
| Since numbers on their own cannot represent the multiple variables that a
 | |
| profile will adjust (power consumption, heat generation, etc) this API
 | |
| uses strings to describe the various profiles. To make sure that userspace
 | |
| gets a consistent experience the sysfs-platform_profile ABI document defines
 | |
| a fixed set of profile names. Drivers *must* map their internal profile
 | |
| representation onto this fixed set.
 | |
| 
 | |
| If there is no good match when mapping then a new profile name may be
 | |
| added. Drivers which wish to introduce new profile names must:
 | |
| 
 | |
|  1. Explain why the existing profile names cannot be used.
 | |
|  2. Add the new profile name, along with a clear description of the
 | |
|     expected behaviour, to the sysfs-platform_profile ABI documentation.
 |