• Venkatesh Pallipadi's avatar
    [CPUFREQ][8/8] acpi-cpufreq: Add support for freq feedback from hardware · dfde5d62
    Venkatesh Pallipadi authored
    Enable ondemand governor and acpi-cpufreq to use IA32_APERF and IA32_MPERF MSR
    to get active frequency feedback for the last sampling interval. This will
    make ondemand take right frequency decisions when hardware coordination of
    frequency is going on.
    
    Without APERF/MPERF, ondemand can take wrong decision at times due
    to underlying hardware coordination or TM2.
    Example:
    * CPU 0 and CPU 1 are hardware cooridnated.
    * CPU 1 running at highest frequency.
    * CPU 0 was running at highest freq. Now ondemand reduces it to
      some intermediate frequency based on utilization.
    * Due to underlying hardware coordination with other CPU 1, CPU 0 continues to
      run at highest frequency (as long as other CPU is at highest).
    * When ondemand samples CPU 0 again next time, without actual frequency
      feedback from APERF/MPERF, it will think that previous frequency change
      was successful and can go to wrong target frequency. This is because it
      thinks that utilization it has got this sampling interval is when running at
      intermediate frequency, rather than actual highest frequency.
    
    More information about IA32_APERF IA32_MPERF MSR:
    Refer to IA-32 Intel® Architecture Software Developer's Manual at
    http://developer.intel.comSigned-off-by: default avatarVenkatesh Pallipadi <venkatesh.pallipadi@intel.com>
    Signed-off-by: default avatarDave Jones <davej@redhat.com>
    dfde5d62
cpufreq.c 43 KB