Handle the case when the `cpufreq` sysfs does not exist

* on virtualized host, this may happen.
* but we may have a value from parsing `/proc/cpuinfo`
* in this case, we do not return the error if we fail to extra
  a value from `cpufreq/cpuinfo_max_freq`
pull/253/head
K.C. Wong 9 years ago
parent 10a1ae2123
commit 3dc4e52844

@ -80,12 +80,22 @@ func finishCPUInfo(c *InfoStat) error {
// of the value from /proc/cpuinfo because we want to report the maximum
// clock-speed of the CPU for c.Mhz, matching the behaviour of Windows
lines, err = common.ReadLines(sysCPUPath(c.CPU, "cpufreq/cpuinfo_max_freq"))
// if we encounter errors below but has a value from parsing /proc/cpuinfo
// then we ignore the error
if err != nil {
return err
if c.Mhz == 0 {
return err
} else {
return nil
}
}
value, err = strconv.ParseFloat(lines[0], 64)
if err != nil {
return err
if c.Mhz == 0 {
return err
} else {
return nil
}
}
c.Mhz = value/1000.0 // value is in kHz
return nil

Loading…
Cancel
Save