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>