From owner-p4-projects@FreeBSD.ORG Wed Sep 26 15:48:22 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4187016A47E; Wed, 26 Sep 2007 15:48:22 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 10D3A16A47B; Wed, 26 Sep 2007 15:48:22 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id 1844413C4C3; Wed, 26 Sep 2007 15:48:22 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from zion.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by elvis.mu.org (Postfix) with ESMTP id 8C9F61A4D9D; Wed, 26 Sep 2007 08:48:21 -0700 (PDT) From: John Baldwin To: "Constantine A. Murenin" Date: Wed, 26 Sep 2007 11:21:58 -0400 User-Agent: KMail/1.9.7 References: <200709091800.l89I0aM5060616@repoman.freebsd.org> In-Reply-To: <200709091800.l89I0aM5060616@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200709261121.58419.jhb@freebsd.org> Cc: Perforce Change Reviews Subject: Re: PERFORCE change 126230 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Sep 2007 15:48:22 -0000 On Sunday 09 September 2007 02:00:36 pm Constantine A. Murenin wrote: > http://perforce.freebsd.org/chv.cgi?CH=126230 > > Change 126230 by cnst@dale on 2007/09/09 18:00:16 > > put in a hack for supporting "Sysctl internal magic", > and now hw.sensors tree magically works in sysctl(8)! > > dale# sysctl hw.sensors.{lm0.volt{0,1,2,3},cpu{0,1}} > hw.sensors.lm0.volt0: 1.23 VDC (VCore) > hw.sensors.lm0.volt1: 12.30 VDC (+12V) > hw.sensors.lm0.volt2: 3.33 VDC (+3.3V) > hw.sensors.lm0.volt3: 3.31 VDC (+3.3V) > hw.sensors.cpu0.temp0: 28.00 degC > hw.sensors.cpu1.temp0: 28.00 degC > dale# > > (All other utilities continue working using a cross-platform > sysctl(3) interface, compatible with OpenBSD.) > > +#endif /* !NOSYSCTL8HACK */ > + > + > +#ifndef NOSYSCTL8HACK > + > +/* > + * XXX: > + * FreeBSD's sysctl(9) .oid_handler functionality is not accustomed > + * for the CTLTYPE_NODE handler to handle the undocumented sysctl > + * magic calls. As soon as such functionality is developed, > + * sysctl_sensors_handler() should be converted to handle all such > + * calls, and these sysctl_add_oid(9) calls should be removed > + * "with a big axe". This whole sysctl_add_oid(9) business is solely > + * to please sysctl(8). Actually, sysctl_add_oid(9) is how you should add a tree of sysctl's on the fly to FreeBSD. It frees you from having to manually simulate a sysctl tree yourself and instead focus on just handling the functionality for the leaf nodes. If you just gave each sensor its own sysctl ctx and tree most of your in-kernel code for dealing with 'hw.sensors' would go away as it would just be a normal node ala 'dev'. -- John Baldwin