From owner-cvs-src@FreeBSD.ORG Tue May 2 11:10:36 2006 Return-Path: X-Original-To: cvs-src@freebsd.org Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B577F16A418; Tue, 2 May 2006 11:10:36 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [209.31.154.42]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1189F43D45; Tue, 2 May 2006 11:10:36 +0000 (GMT) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [209.31.154.41]) by cyrus.watson.org (Postfix) with ESMTP id B6DB646B87; Tue, 2 May 2006 07:10:35 -0400 (EDT) Date: Tue, 2 May 2006 12:10:35 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Scott Long In-Reply-To: <44566322.2010008@samsco.org> Message-ID: <20060502120829.N92256@fledge.watson.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> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: src-committers@freebsd.org, Pawel Jakub Dawidek , Brooks Davis , cvs-src@freebsd.org, Alfred Perlstein , cvs-all@freebsd.org, John-Mark Gurney Subject: Re: cvs commit: src/sys/kern sched_4bsd.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 May 2006 11:10:36 -0000 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