Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 May 2006 12:10:35 +0100 (BST)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Scott Long <scottl@samsco.org>
Cc:        src-committers@freebsd.org, Pawel Jakub Dawidek <pjd@freebsd.org>, Brooks Davis <brooks@one-eyed-alien.net>, cvs-src@freebsd.org, Alfred Perlstein <alfred@freebsd.org>, cvs-all@freebsd.org, John-Mark Gurney <jmg@freebsd.org>
Subject:   Re: cvs commit: src/sys/kern sched_4bsd.c
Message-ID:  <20060502120829.N92256@fledge.watson.org>
In-Reply-To: <44566322.2010008@samsco.org>
References:  <200604261942.k3QJgdnb086990@repoman.freebsd.org> <20060427102026.GC20828@garage.freebsd.pl> <20060427163351.GB12971@odin.ac.hmc.edu> <4450F84D.4080601@samsco.org> <20060501190238.GD35896@elvis.mu.org> <44566322.2010008@samsco.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On Mon, 1 May 2006, Scott Long wrote:

>> I think that sysctls should rarely be changed, it really hurts application 
>> developers that will try to build low level system management software.
>> 
>> Even device drivers should be careful, it would suck for a vendor's binary 
>> code to break for a utility that you are dependant on just because someone 
>> didn't like the spelling of a sysctl.
>
> Right, that's why I was saying that certain parts of the tree should be 
> considered part of the API, just like syscalls, and treated with care, and 
> other parts of the tree should be allowed to be more flexible, and 
> advertised that way.  I'd hate to add a sysctl to one of my drivers that is 
> only intended as a debugging knob, and have some application developer think 
> that it was something that was useful for his application to use.  I find 
> that a lot of sysctls are added as a cheap means to make debugging 
> information available at runtime; this doesn't mean that they should be 
> treated as a first class API that can never again be changed or removed. 
> And if the popular opinion is against this, then I challenge them to develop 
> an alternate developer-friendly interface that can be used instead.  Should 
> FreeBSD change its stance against pseudofilesystems and use them for this 
> information like Linux does?

I don't see changing the mechanism fixing the name space policy issue. 
Renaming vm.foo.bar isn't really very different from remaining 
/proc/vm/foo/bar, because the application is broken both ways. :-)

In my sysctl(9) man page, I've tried to identify to sysctl authors that they 
need to be sensitive to name space issues, but nothing trumps common sense 
(don't change things without a good reason, and if you do change things, 
expect to deal with the results).

With regard to debugging information -- in the past, we've stuffed some 
debugging information into debug.*.  Maybe we need to actually mirror the 
normal structure into debug.* for debugging things.  I.e., net.inet.foo.bar, 
and debug.net.inet.temporary_thingy.

Robert N M Watson



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