1. 18 6月, 2015 2 次提交
  2. 03 6月, 2015 1 次提交
  3. 28 5月, 2015 5 次提交
  4. 19 4月, 2015 8 次提交
  5. 14 4月, 2015 3 次提交
  6. 11 2月, 2015 1 次提交
  7. 10 2月, 2015 6 次提交
    • L
      tools/power turbostat: update parameters, documentation · d8af6f5f
      Len Brown 提交于
      Long format options added, though the short ones should still work.
      eg. the new "--Counter 0x10" is the same as the old "-C 0x10"
      
      Note this Incompatibility:
      Old:
      -v displayed verbose debug output
      
      New:
      -v and --version simpaly display version
      
      Additional parameters:
      -d and --debug display verbose debug output
      -h and --help display a help message
      
      Updated turbosat.8 man page accordingly.
      Signed-off-by: NLen Brown <len.brown@intel.com>
      d8af6f5f
    • L
      tools/power turbostat: Skip printing disabled package C-states · ee7e38e3
      Len Brown 提交于
      Replaced previously open-coded Package C-state Limit decoding
      with table-driven decoding.  In doing so, updated to match January 2015
      "Intel(R) 64 and IA-23 Architectures Software Developer's Manual".
      
      In the past, turbostat would print package C-state residency columns
      for all package states supported by the model's architecture, even though
      a particular SKU may not support them, or they may be disabled by the BIOS.
      Now turbostat will skip printing colunns if MSRs indicate that they are not enabled.
      eg. many SKUs don't support PC7, and so that column will no longer be printed.
      Signed-off-by: NLen Brown <len.brown@intel.com>
      ee7e38e3
    • L
      tools/power turbostat: relax dependency on APERF_MSR · a729617c
      Len Brown 提交于
      While turbostat is significantly less useful on systems
      with no APERF_MSR, it seems more friendly
      to run on such systems and report what we can,
      rather than refusing to run.
      
      Update man page to reflect recent changes.
      Signed-off-by: NLen Brown <len.brown@intel.com>
      a729617c
    • L
      tools/power turbostat: relax dependency on invariant TSC · d7899447
      Len Brown 提交于
      Turbostat can be useful on systems that do not support invariant TSC,
      so allow it to run on those systgems.
      
      All arithmetic in turbostat using the TSC value is per-processsor,
      so it does not depend on the TSC values being in sync acrosss processors.
      
      Turbostat uses gettimeofday() for the measurement interval
      rather than using the TSC directly, so that key metric
      is also immune from variable TSC.
      
      Turbostat prints a TSC sanity check column:
      
      TSC_MHz = TSC_delta/interval
      
      If this column is constant and is close to the processor
      base frequency, then the TSC is behaving properly.
      
      The other key turbostat columns are calculated this way:
      
      Avg_Mhz = APERF_delta/interval
      
      %Busy = MPERF_delta/TSC_delta
      
      Bzy_MHz = TSC_delta/APERF_delta/MPERF_delta/interval
      
      Tested on Core2 and Core2-Xeon, and so this patch includes
      a few other changes to remove the assumption that target
      systems are Nehalem and newer.
      Signed-off-by: NLen Brown <len.brown@intel.com>
      d7899447
    • L
      tools/power turbostat: decode MSR_*_PERF_LIMIT_REASONS · 3a9a941d
      Len Brown 提交于
      The Processor generation code-named Haswell
      added MSR_{CORE | GFX | RING}_PERF_LIMIT_REASONS
      to explain when and how the processor limits frequency.
      
      turbostat -v
      will now decode these bits.
      
      Each MSR has an "Active" set of bits which describe
      current conditions, and a "Logged" set of bits,
      which describe what has happened since last cleared.
      
      Turbostat currently doesn't clear the log bits.
      Signed-off-by: NLen Brown <len.brown@intel.com>
      3a9a941d
    • L
      tools/power turbostat: relax dependency on root permission · 98481e79
      Len Brown 提交于
      For turbostat to run as non-root, it needs to permissions:
      
      1. read access to /dev/cpu/*/msr
      	via standard user/group/world file permissions
      
      2. CAP_SYS_RAWIO
      	eg.  # setcap cap_sys_rawio=ep turbostat
      
      Yes, running as root still works.
      Signed-off-by: NLen Brown <len.brown@intel.com>
      98481e79
  8. 16 8月, 2014 1 次提交
  9. 07 5月, 2014 1 次提交
    • J
      tools / power: turbostat: Drop temperature checks · 3482124a
      Jean Delvare 提交于
      The Intel 64 and IA-32 Architectures Software Developer's Manual says
      that TjMax is stored in bits 23:16 of MSR_TEMPERATURE TARGET (0x1a2).
      That's 8 bits, not 7, so it must be masked with 0xFF rather than 0x7F.
      
      The manual has no mention of which values should be considered valid,
      which kind of implies that they all are. Arbitrarily discarding values
      outside a specific range is wrong. The upper range check had to be
      fixed recently (commit 144b44b1) and the lower range check is just as
      wrong. See bug #75071:
      
      https://bugzilla.kernel.org/show_bug.cgi?id=75071
      
      There are many Xeon processor series with TjMax of 70, 71 or 80
      degrees Celsius, way below the arbitrary 85 degrees Celsius limit.
      There may be other (past or future) models with even lower limits.
      
      So drop this arbitrary check. The only value that would be clearly
      invalid is 0. Everything else should be accepted.
      
      After these changes, turbostat is aligned with what the coretemp
      driver does.
      Signed-off-by: NJean Delvare <jdelvare@suse.de>
      Cc: Len Brown <len.brown@intel.com>
      Acked-by: NGuenter Roeck <linux@roeck-us.net>
      Reviewed-by: NJosh Triplett <josh@joshtriplett.org>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      3482124a
  10. 06 3月, 2014 2 次提交
    • L
      tools/power turbostat: Run on Broadwell · 4e8e863f
      Len Brown 提交于
      Signed-off-by: NLen Brown <len.brown@intel.com>
      4e8e863f
    • L
      tools/power turbostat: simplify output, add Avg_MHz · fc04cc67
      Len Brown 提交于
      Use 8 columns for each number ouput.
      We don't fit into 80 columns on most machines,
      so keep the format simple.
      
      Print frequency in MHz instead of GHz.
      We've got 8 columns now, so use them to
      show low frequency in a more natural unit.
      
      Many users didn't understand what %c0 meant,
      so re-name it to be %Busy.
      
      Add Avg_MHz column, which is the frequency that many
      users expect to see -- the total number of cycles executed
      over the measurement interval.
      
      People found the previous GHz to be confusing, since
      it was the speed only over the non-idle interval.
      That measurement has been re-named Bzy_MHz.
      
      Suggested-by: Dirk J. Brandewie
      Signed-off-by: NLen Brown <len.brown@intel.com>
      fc04cc67
  11. 02 2月, 2014 2 次提交
  12. 19 1月, 2014 8 次提交