I'm afraid that there is some inaccuracy in the way cpu.c reports performance statistics, at least on Linux 2.6 systems. Basically, the reported CPU usage (user, including nice, plus system) is overestimated since the elapsed time is underestimated, mainly due to the I/O wait time not being considered at all (this can be noticed when creating a big tar file). Please find attached a cpu.c that I believe more accurate on Linux 2.6 systems; for the code change, check the compilation key RS(=true).
Created attachment 271 cpu.c, systemload 0.3.6
What's the status on this one?
I just pushed a fix similar to this patch to the master branch. Thanks for noticing this problem, and sorry for the long wait.