cpufreq

Firmware Test Suite - cpufreq test

The cpufreq test is an experimental test. (and thus may yield incorrect results because of kernel scheduling policies and loading on the machine). It checks Processor Performance States (P-States). The test tries to step through all the various P-states that the BIOS advertised to the processor. For each processor/frequency combination a quick performance value is measured.

The test will try to validate:

  • Each processor has the same number of frequency states
  • Higher advertised frequencies have a higher performance
  • No duplicate frequency values are reported by the BIOS
  • Is BIOS wrongly doing Sw_All P-state coordination across cores
  • Is BIOS wrongly doing Sw_Any P-state coordination across cores

Note:

  • Sw_All - Operating System is responsible and will set throttling across all CPUs
  • Sw_Any - Operating System is responsible and will set throttling per CPU.

For more information See section 8.4.2.2 _CSD (C-State Dependency) of the ACPI specification and also drivers/acpi/processor_throttling.c

Examples:

sudo fwts cpufreq - 

..runs the test on your machine and dumps the output to stdout.

Explanation of test results

Certain test results may require a little more explanation. This section will try and give some context to specific test failures.

Error ID

Explanation

CPUFreqPStates

Not all processors support the same number of P states, this is inconsistent and very unexpected.

CPUFreqDupFreq

/sys/devices/system/cpu/cpu*/cpufreq/scaling_available_frequencies has a duplicate scaling frequency. This is normally due to a firmware misconfiguration with the ACPI _PSS object, see section 8.4.4.2 _PSS (Performance Supported States) of the ACPI specification.

CPUFreqSW_ALL

The BIOS may be doing Sw_ALL co-ordination, which is not what we expected.

CPUFreqSW_ANY

The BIOS may be doing Sw_ANY co-ordination, which is not what we expected.

FirmwareTestSuite/Reference/cpufreq (last edited 2016-01-11 07:25:31 by anthonywong)