• Len Brown's avatar
    tools/power turbostat: simplify Bzy_MHz calculation · 21ed5574
    Len Brown authored
        Bzy_MHz = TSC_delta*tsc_tweak/APERF_delta/MPERF_delta/measurement_interval
    
    becomes
    
        Bzy_MHz = base_mhz/APERF_delta/MPERF_delta
    
    on systems which support MSR_NHM_PLATFORM_INFO.
    
    base_mhz is calculated directly from the base_ratio
    reported in MSR_NHM_PLATFORM_INFO * bclk,
    and bclk is discovered via MSR or cpuid.
    
    This reduces the dependency of Bzy_MHz calculation on the TSC.
    Previously, there were 4 TSC readings required in each caculation,
    the raw TSC delta combined with the measurement_interval.
    This also removes the "tsc_tweak" correction factor used when
    TSC runs on a different base clock from the CPU's bclk.
    
    After this change, tsc_tweak is used only for %Busy.
    
    The end-result should be a Bzy_MHz result slightly less prone to jitter.
    Signed-off-by: default avatarLen Brown <len.brown@intel.com>
    21ed5574
turbostat.c 82.2 KB