1Intel P-state driver 2-------------------- 3 4This driver provides an interface to control the P state selection for 5SandyBridge+ Intel processors. The driver can operate two different 6modes based on the processor model, legacy mode and Hardware P state (HWP) 7mode. 8 9In legacy mode, the Intel P-state implements two internal governors, 10performance and powersave, that differ from the general cpufreq governors of 11the same name (the general cpufreq governors implement target(), whereas the 12internal Intel P-state governors implement setpolicy()). The internal 13performance governor sets the max_perf_pct and min_perf_pct to 100; that is, 14the governor selects the highest available P state to maximize the performance 15of the core. The internal powersave governor selects the appropriate P state 16based on the current load on the CPU. 17 18In HWP mode P state selection is implemented in the processor 19itself. The driver provides the interfaces between the cpufreq core and 20the processor to control P state selection based on user preferences 21and reporting frequency to the cpufreq core. In this mode the 22internal Intel P-state governor code is disabled. 23 24In addition to the interfaces provided by the cpufreq core for 25controlling frequency the driver provides sysfs files for 26controlling P state selection. These files have been added to 27/sys/devices/system/cpu/intel_pstate/ 28 29 max_perf_pct: limits the maximum P state that will be requested by 30 the driver stated as a percentage of the available performance. The 31 available (P states) performance may be reduced by the no_turbo 32 setting described below. 33 34 min_perf_pct: limits the minimum P state that will be requested by 35 the driver stated as a percentage of the max (non-turbo) 36 performance level. 37 38 no_turbo: limits the driver to selecting P states below the turbo 39 frequency range. 40 41 turbo_pct: displays the percentage of the total performance that 42 is supported by hardware that is in the turbo range. This number 43 is independent of whether turbo has been disabled or not. 44 45 num_pstates: displays the number of pstates that are supported 46 by hardware. This number is independent of whether turbo has 47 been disabled or not. 48 49For contemporary Intel processors, the frequency is controlled by the 50processor itself and the P-states exposed to software are related to 51performance levels. The idea that frequency can be set to a single 52frequency is fiction for Intel Core processors. Even if the scaling 53driver selects a single P state the actual frequency the processor 54will run at is selected by the processor itself. 55 56For legacy mode debugfs files have also been added to allow tuning of 57the internal governor algorythm. These files are located at 58/sys/kernel/debug/pstate_snb/ These files are NOT present in HWP mode. 59 60 deadband 61 d_gain_pct 62 i_gain_pct 63 p_gain_pct 64 sample_rate_ms 65 setpoint 66