• Len Brown's avatar
    tools/power turbostat: use tsc_tweak everwhere it is needed · 008d396e
    Len Brown authored
    The CPU ticks at a rate in the "bus clock" domain.
    eg. 100 MHz * bus_ratio.
    
    On newer processors, the TSC has been moved out of this BCLK
    domain and into a separate crystal-clock domain.
    
    While the TSC ticks "close to" the base frequency, those that look
    closely at the numbers will notice small errors in calculations that
    mix units of TSC clocks and bus clocks.
    
    "tsc_tweak" was introduced to address the most visible
    mixing -- the %Busy and the the Busy_MHz calculations.
    (A simplification as since removed TSC from the BusyMHz calculation)
    
    Here we apply the tsc_tweak to everyplace where BCLK
    and TSC units are mixed.  The results is that
    on a system which is 100% idle, the sum of the C-states
    are now much more likely to be closer to 100%.
    Reported-by: default avatarTravis Downs <travis.downs@gmail.com>
    Signed-off-by: default avatarLen Brown <len.brown@intel.com>
    008d396e
turbostat.c 116 KB