On Thu, Nov 04, 1999 at 12:52:50PM -0500, Matthew N. Dodd wrote:
> On Thu, 4 Nov 1999, Arun Sharma wrote:
> > I just looked at the sysctl implementation and there are some differences.
> > Moreover, since it was not being used in tools like vmstat and xosview,
> > I thought there must be a reason.
> > 
> > sysctl also seems to assume that it doesn't get called frequently. So
> > mapping the name to the sysctl data is a slightly more heavy duty
> > operation than a hash table lookup.
> 
> Wouldn't hashing the sysctl OIDs be the way to go then?
> 
> Why invent another namespace?
> 

Please see the attached mail. Yes - I didn't look closely at sysctl, before
I started working on kstat. My argument is that we need different interfaces
for kernel tuning (which is what sysctl seems to be good at) and kernel
performance statistics collection.

The former activity is more heavy weight than the latter.

        -Arun



On Thu, Nov 04, 1999 at 08:26:14AM -0700, Ronald G. Minnich wrote:
> quick question: is this better than sysctl, and if so why? I worry about
> adding new system calls.

To be honest, I didn't look closely at sysctl before I started writing
kstat, which was primarily meant to be an exercise in learning BSD. 
A few differences:

(a) sysctl seems to be more appropriate for kernel tuning than performance
    monitoring. Even if it can do performance monitoring as efficiently
    as kstat, I think it makes sense to keep the kernel tuning and performance
    monitoring interfaces separate.

(b) kstat uses a hash table lookup to map the counter name to the counter
    value. Which should make it a little bit faster.

(c) kstat allows multiple instances of the same counter (cpu.nice for CPU1 
    and CPU2 for eg).

        -Arun


Reply via email to