Date: Sat, 15 Apr 2006 10:40:05 +0000 From: Marco van Tol <marco@tols.org> To: John Baldwin <jhb@freebsd.org> Cc: freebsd-hackers@freebsd.org Subject: Re: Per CPU cpu-statistics under SMP Message-ID: <20060415104005.GB27978@tols.org> In-Reply-To: <200604141017.30635.jhb@freebsd.org> References: <20060412215021.GB1146@tols.org> <200604131020.42417.jhb@freebsd.org> <20060414103810.GA18114@tols.org> <200604141017.30635.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Apr 14, 2006 at 10:17:29AM -0400, John Baldwin wrote: > On Friday 14 April 2006 06:38, Marco van Tol wrote: > > On Thu, Apr 13, 2006 at 10:20:40AM -0400, John Baldwin wrote: > > > 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. > > > > [...] > > > > > > Is there an interface under FreeBSD to acquire the necessary per-cpu > > > > statistics? > > > > > > 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. > > > > OK, that I could use to get started on the code for adding per-CPU stats to > > gkrellm under FreeBSD. Is the patch against FreeBSD CURRENT? > > > > Then if the per-CPU stats code hits the STABLE trunk, it's likely to be only > > a few changes to what I did perhaps. Or am I running a bit to far ahead > > here? :) > > > > Is the patch in available your home area on www.freebsd.org? > > An early one but it doesn't export the data to userland yet. I need to > figure out what interface to use for that. I could have the cp_time > sysctl just include the CPU arrays after the global array and key > off the passed in length to determine if they should be included or not. I must admit that I had to read up a bit to understand what you meant here, but I think I do now. I think it should work. If I understand correctly, the first array would have the composite CPU stats, and following arrays would be the CPU specific stats. Right? That'd be just like the linux /proc/stat. In case it's going to be done like this, will the sum of the CPU specific stats be the composite stats? I'm not familiar with the formal process of adding/changing sysctl's for the kernel, so can't give much more comment. :) I'm assuming there are formal guidelines to do things like that. Thanks! Marco -- Gisteren is het niet gelukt.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060415104005.GB27978>