From owner-cvs-src@FreeBSD.ORG Mon May 1 19:36:26 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 94E1516A40B; Mon, 1 May 2006 19:36:26 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from pooker.samsco.org (pooker.samsco.org [168.103.85.57]) by mx1.FreeBSD.org (Postfix) with ESMTP id B0C2543D7E; Mon, 1 May 2006 19:36:11 +0000 (GMT) (envelope-from scottl@samsco.org) Received: from [10.10.3.185] ([69.15.205.254]) (authenticated bits=0) by pooker.samsco.org (8.13.4/8.13.4) with ESMTP id k41Ja8T4033649; Mon, 1 May 2006 13:36:08 -0600 (MDT) (envelope-from scottl@samsco.org) Message-ID: <44566322.2010008@samsco.org> Date: Mon, 01 May 2006 13:36:02 -0600 From: Scott Long User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.12) Gecko/20060206 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Alfred Perlstein 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> In-Reply-To: <20060501190238.GD35896@elvis.mu.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=0.0 required=3.8 tests=none autolearn=failed version=3.1.1 X-Spam-Checker-Version: SpamAssassin 3.1.1 (2006-03-10) on pooker.samsco.org Cc: src-committers@freebsd.org, Pawel Jakub Dawidek , Brooks Davis , cvs-src@freebsd.org, 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: Mon, 01 May 2006 19:36:26 -0000 Alfred Perlstein wrote: > * Scott Long [060427 10:00] wrote: > >>Well, sysctl's are a second class API. The ease by they can be changed, >>as well as the completely uncontrolled nature that they are developed >>in, means that we really start to hamstring ourselves if we declare them >>as a first class API. What we should do instead is define a subset of >>the sysctl tree that is stable and guaranteed to exist, and declare that >>the rest are transient and therefore not part of the API. Doing this by >>popular vote is impractical, what we need is someone to sit down and >>audit what is there now and make appropriate recommendations. sysctls >>that are used by libkvm are a good candidate, for example, but random >>driver sysctls might not be. > > > 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? Scott