• Hubert Chrzaniuk's avatar
    tools/power turbostat: KNL workaround for %Busy and Avg_MHz · b2b34dfe
    Hubert Chrzaniuk authored
    KNL increments APERF and MPERF every 1024 clocks.
    This is compliant with the architecture specification,
    which requires that only the ratio of APERF/MPERF need be valid.
    
    However, turbostat takes advantage of the fact that these
    two MSRs increment every un-halted clock
    at the actual and base frequency:
    
    AVG_MHz = APERF_delta/measurement_interval
    
    %Busy = MPERF_delta/TSC_delta
    
    This quirk is needed for these calculations to also work on KNL,
    which would otherwise show a value 1024x smaller than expected.
    Signed-off-by: default avatarHubert Chrzaniuk <hubert.chrzaniuk@intel.com>
    Signed-off-by: default avatarLen Brown <len.brown@intel.com>
    b2b34dfe
turbostat.c 81.7 KB