Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Apr 2006 22:15:05 +0000
From:      Marco van Tol <marco@tols.org>
To:        freebsd-hackers@freebsd.org
Subject:   Re: Per CPU cpu-statistics under SMP
Message-ID:  <20060418221505.GC58081@tols.org>
In-Reply-To: <20060417134825.GA47043@tols.org>
References:  <20060412215021.GB1146@tols.org> <200604141017.30635.jhb@freebsd.org> <20060415104005.GB27978@tols.org> <200604170904.58902.jhb@freebsd.org> <20060417134825.GA47043@tols.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Apr 17, 2006 at 01:48:25PM +0000, Marco van Tol wrote:
> On Mon, Apr 17, 2006 at 09:04:58AM -0400, John Baldwin wrote:

[...]

> > I actually did it differently though to try and make it less confusing.
> > I've added a kern.pcpu_time sysctl which is an array of 0..mp_maxid
> > cp_time[] arrays (so (mp_maxid + 1) * CPUSTATES longs) which is just the
> > per-CPU data.  Userland can sum them up if it wants a composite total.
> > Userland would first do a sysctl with a NULL buffer to get the required
> > size (since it can vary with the number of CPUs in the system), malloc()
> > a buffer, and then use the malloc'd buffer to make the requests.  You
> > should only have to do the malloc() at process start since FreeBSD doesn't
> > currently allow for more CPUs to be added at runtime.  You can try out
> > the patch at http://www.FreeBSD.org/~jhb/patches/cp_time.patch
> 
> Great thanks!
> 
> I will try to apply the patch, and try to modify gkrellm to support it.
> I'll drop them (gkrellm developers) a note that I'm doing this, as it would
> be a waist of effort if somebody else has been doing preliminary work that
> I'd be doing again. :)
> 
> I'll keep you up-to-date.

I'm trying to apply the patch. Tried it to both todays current and todays
RELENG_6, but both have failing hunks in sys/kern/kern_clock.c.
The rest succeeds.

I can do two things:
- Try to manually patch it against todays current.
- re-checkout todays RELENG_6, and download the relevant files from the
  cvsweb interface from the date you posted the patch from that days
  CURRENT.  Then try to apply the patch.

For the latter it may break the kernelbuild, but I'm very tempted to try
that one ahead of the manual patching attempt. ;)

I'll keep you posted on how far I'm getting with this.  Guess I should have
gone straight to current the day you posted the patch.  Sorry.

Marco

-- 
Nothing takes the past away like the future
- Madonna in Nothing Really Matters



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060418221505.GC58081>