Per CPU cpu-statistics under SMP

John Baldwin jhb at freebsd.org
Thu Apr 13 14:21:08 UTC 2006


On Wednesday 12 April 2006 17:50, Marco van Tol wrote:
> Hi there,
> 
> My apologies if this is the wrong list to ask this kind of question.
> I would appreciate a pointer to the correct list if it is please. :)
> 
> I noticed in the code for gkrellm /usr/ports/sysutils/gkrellm2 that SMP
> per-cpu statistics were not yet supported under FreeBSD, and decided to
> check whether I could add that.  (I'm running a (dual-core) Athlon64 X2
> with FreeBSD 6.1-PRERELEASE)
> I can't find sample code and/or documentation on how to acquire that
> information from the kernel.
> 
> I checked
> - gkrellm2 itself, which uses kern.cp_time in <gkrellm>/src/sysdeps/freebsd.c
> - top, which also uses kern.cp_time in /usr/src/usr.bin/top/machine.c
> 
> Some browsing around the internet doesn't get me much further either
> unfortunately.  I keep hitting the per-cpu statistics mentioned with regard
> to uma(9).
> 
> Under linux this can be acquired via /proc/stat. (And gkrellm looks realy
> funky with per-cpu stats, but that may or may not be relevant depending on
> the reader of this mail I guess ;)
> 
> Is there an interface under FreeBSD to acquire the necessary per-cpu
> statistics?
> 
> Thank you very much in advance, appreciated,
> 
> Marco van Tol

They don't exist currently.  I have a patch to make the stats per-CPU
for performance reasons (though it only helps out on systems with lots
of CPUs (like 10) and hurts on systems with fewer CPUs (like 4)).  It
doesn't include a sysctl to get the per-CPU stats, but I could add one.

-- 
John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org


More information about the freebsd-hackers mailing list