[netperf-talk] negative CPU utilization

Rick Jones rick.jones2 at hp.com
Tue May 26 16:09:27 PDT 2009


Andrew Gallatin wrote:
> calc_cpu_util: actual_rate on processor 0 is 152.096985 start 31ecee53 
> end 31ecf444 util -52.096985 cf 1.000000
> calc_cpu_util: actual_rate on processor 1 is 5.099899 start 5cae5671 end 
> 5cae56a4 util 94.900101 cf 1.000000
> calc_cpu_util: actual_rate on processor 2 is 153.096970 start 437758c4 
> end 43775ebf util -53.096970 cf 1.000000
> calc_cpu_util: actual_rate on processor 3 is 192.596176 start 587fa517 
> end 587fac9d util -92.596176 cf 1.000000

I wonder if the "tick rate" of what gets reported in /proc/cpuinfo is no longer 
tied to:

   return sysconf (_SC_CLK_TCK);

which is what calibrate_idle_rate() for src/netcpu_procstat.c will return to be 
used by lib_local_maxrate.  That is what the "calibration" value will be against 
which the actual rate is compared.  If we can no longer ass-u-me a given 
calibration value on Linux, we will have to fall-back on an old-style, 
traditional 45 second calibration phase to find the actual rate at which those 
ticks increase.  See src/netcpu_looper.c and a couple of the other 
src/netcpu_mumble.c files for examples.

To check, you might add emitting lib_local_maxrate as debug output either in 
calc_cpu_util_internal (src/netcpu_procstat.c) or in calibrate_idle_rate() (same 
file).

happy benchmarking,

rick jones


More information about the netperf-talk mailing list