cvs commit: src/sys/compat/linprocfs linprocfs.c src/sys/kern kern_clock.c src/sys/sys pcpu.h resource.h

Peter Wemm peter at wemm.org
Fri Nov 30 12:48:38 PST 2007


On Thursday 29 November 2007, Joe Marcus Clarke wrote:
> Peter Wemm wrote:
> > peter       2007-11-29 06:34:30 UTC
> >
> >   FreeBSD src repository
> >
> >   Modified files:
> >     sys/compat/linprocfs linprocfs.c
> >     sys/kern             kern_clock.c
> >     sys/sys              pcpu.h resource.h
> >   Log:
> >   Move the shared cp_time array (counts %sys, %user, %idle etc) to
> > the per-cpu area.  cp_time[] goes away and a new function creates a
> > merged cp_time-like array for things like linprocfs, sysctl etc. 
> > The atomic ops for updating cp_time[] in statclock go away, and the
> > scope of the thread lock is reduced.
> >
> >   sysctl kern.cp_time returns a backwards compatible cp_time[]
> > array. A new kern.cp_times sysctl returns the individual per-cpu
> > stats.
> >
> >   I have pending changes to make top and vmstat optionally show
> > per-cpu stats.
> >
> >   I'm very aware that there are something like 5 or 6 other
> > versions "out there" for doing this - but none were handy when I
> > needed them.
> >
> >   I did merge my changes with John Baldwin's, and ended up
> > replacing a few chunks of my stuff with his, and stealing some
> > other code.
>
> libgtop uses the cp_time interface.  Can __FreeBSD_version be bumped
> for this?  And thanks for doing this work.
>
> Joe

If it uses sysctl kern.cp_time, then there is no change required...

If you want to get the new per-cpu stats, then just test for the 
existence of kern.cp_times at runtime.  There's no compile-time visible 
changes.

-- 
Peter Wemm - peter at wemm.org; peter at FreeBSD.org; peter at yahoo-inc.com
"All of this is for nothing if we don't go to the stars" - JMS/B5


More information about the cvs-all mailing list