Commit aa4ea34da9e7a2bc0fb98f5add3e4e52872b7d45

Authored by Ethan Zhao
Committed by Rafael J. Wysocki
1 parent 966916eabf

intel_pstate: add kernel parameter to force loading

To force loading on Oracle Sun X86 servers, provide one kernel command line
parameter

  intel_pstate = force

For those who are aware of the risk of no power capping capabily working
and try to get better performance with this driver.

Signed-off-by: Ethan Zhao <ethan.zhao@oracle.com>
Tested-by: Alexey Kodanev <alexey.kodanev@oracle.com>
Reviewed-by: Linda Knippers <linda.knippers@hp.com>
Acked-by: Kristen Carlson Accardi <kristen@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

Showing 2 changed files with 14 additions and 1 deletions Side-by-side Diff

Documentation/kernel-parameters.txt
... ... @@ -1446,6 +1446,15 @@
1446 1446 disable
1447 1447 Do not enable intel_pstate as the default
1448 1448 scaling driver for the supported processors
  1449 + force
  1450 + Enable intel_pstate on systems that prohibit it by default
  1451 + in favor of acpi-cpufreq. Forcing the intel_pstate driver
  1452 + instead of acpi-cpufreq may disable platform features, such
  1453 + as thermal controls and power capping, that rely on ACPI
  1454 + P-States information being indicated to OSPM and therefore
  1455 + should be used with caution. This option does not work with
  1456 + processors that aren't supported by the intel_pstate driver
  1457 + or on platforms that use pcc-cpufreq instead of acpi-cpufreq.
1449 1458 no_hwp
1450 1459 Do not enable hardware P state control (HWP)
1451 1460 if available.
drivers/cpufreq/intel_pstate.c
... ... @@ -948,6 +948,7 @@
948 948  
949 949 static int __initdata no_load;
950 950 static int __initdata no_hwp;
  951 +static unsigned int force_load;
951 952  
952 953 static int intel_pstate_msrs_not_valid(void)
953 954 {
... ... @@ -1094,7 +1095,8 @@
1094 1095 case PSS:
1095 1096 return intel_pstate_no_acpi_pss();
1096 1097 case PPC:
1097   - return intel_pstate_has_acpi_ppc();
  1098 + return intel_pstate_has_acpi_ppc() &&
  1099 + (!force_load);
1098 1100 }
1099 1101 }
1100 1102  
... ... @@ -1175,6 +1177,8 @@
1175 1177 no_load = 1;
1176 1178 if (!strcmp(str, "no_hwp"))
1177 1179 no_hwp = 1;
  1180 + if (!strcmp(str, "force"))
  1181 + force_load = 1;
1178 1182 return 0;
1179 1183 }
1180 1184 early_param("intel_pstate", intel_pstate_setup);