• Prarit Bhargava's avatar
    PM / tools: cpupower: add option to display values without round offs · e091abc7
    Prarit Bhargava authored
    The command "cpupower frequency-info" can be used when using cpupower to
    monitor and test processor behaviour to determine if the processor is
    behaving as expected.  This data can be compared to the output of
    /proc/cpuinfo or the output of
    /sys/devices/system/cpu/cpuX/cpufreq/scaling_available_frequencies
    to determine if the cpu is in an expected state.
    
    When doing this I noticed comparison test failures due to the way the
    data is displayed in cpupower.  For example,
    
    [root@intel-s3e37-02 cpupower]# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
    2262000 2261000 2128000 1995000 1862000 1729000 1596000 1463000 1330000
    1197000 1064000
    
    compared to
    
    [root@intel-s3e37-02 cpupower]# cpupower frequency-info
    analyzing CPU 0:
      driver: acpi-cpufreq
      CPUs which run at the same hardware frequency: 0
      CPUs which need to have their frequency coordinated by software: 0
      maximum transition latency: 10.0 us.
      hardware limits: 1.06 GHz - 2.26 GHz
      available frequency steps: 2.26 GHz, 2.26 GHz, 2.13 GHz, 2.00 GHz, 1.86 GHz, 1.73 GHz, 1.60 GHz, 1.46 GHz, 1.33 GHz, 1.20 GHz, 1.06 GHz
      available cpufreq governors: conservative, userspace, powersave, ondemand, performance
      current policy: frequency should be within 1.06 GHz and 2.26 GHz.
                      The governor "performance" may decide which speed to use
                      within this range.
      current CPU frequency is 2.26 GHz (asserted by call to hardware).
      boost state support:
        Supported: yes
        Active: yes
    
    shows very different values for the available frequency steps.  The cpupower
    output rounds off values at 2 decimal points and this causes problems with
    test scripts.  For example, with the data above,
    
    1.064 is 1.06
    1.197 is 1.20
    1.596 is 1.60
    1.995 is 2.00
    2.128 is 2.13
    
    and most confusingly,
    
    2.261 is 2.26
    2.262 is 2.26
    
    Truncating these values serves no real purpose other than making the output
    pretty.  Since the default has been to round off these values I am adding
    a -n/--no-rounding option to the cpupower utility that will display the
    data without rounding off the still significant digits.
    
    After patch,
    
    analyzing CPU 0:
      driver: acpi-cpufreq
      CPUs which run at the same hardware frequency: 0
      CPUs which need to have their frequency coordinated by software: 0
      maximum transition latency: 10.000 us.
      hardware limits: 1.064000 GHz - 2.262000 GHz
      available frequency steps: 2.262000 GHz, 2.261000 GHz, 2.128000 GHz, 1.995000 GHz, 1.862000 GHz, 1.729000 GHz, 1.596000 GHz, 1.463000 GHz, 1.330000 GHz, 1.197000 GHz, 1.064000 GHz
      available cpufreq governors: conservative, userspace, powersave, ondemand, performance
      current policy: frequency should be within 1.064000 GHz and 2.262000 GHz.
                      The governor "performance" may decide which speed to use
                      within this range.
      current CPU frequency is 2.262000 GHz (asserted by call to hardware).
      boost state support:
        Supported: yes
        Active: yes
    Acked-by: default avatarThomas Renninger <trenn@suse.de>
    Signed-off-by: default avatarPrarit Bhargava <prarit@redhat.com>
    [rjw: Subject]
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    e091abc7
cpupower-frequency-info.1 2.32 KB