From owner-freebsd-arch@FreeBSD.ORG Fri Dec 28 05:31:02 2007 Return-Path: Delivered-To: arch@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 733A416A418; Fri, 28 Dec 2007 05:31:02 +0000 (UTC) (envelope-from bright@elvis.mu.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id 5F04D13C457; Fri, 28 Dec 2007 05:31:02 +0000 (UTC) (envelope-from bright@elvis.mu.org) Received: by elvis.mu.org (Postfix, from userid 1192) id 89C8E1A4D7C; Thu, 27 Dec 2007 21:29:06 -0800 (PST) Date: Thu, 27 Dec 2007 21:29:06 -0800 From: Alfred Perlstein To: John Baldwin Message-ID: <20071228052906.GP16982@elvis.mu.org> References: <200712271704.44796.jhb@FreeBSD.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200712271704.44796.jhb@FreeBSD.org> User-Agent: Mutt/1.4.2.3i Cc: arch@FreeBSD.org Subject: Re: kernel features MIB X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Dec 2007 05:31:02 -0000 Sounds pretty rad. * John Baldwin [071227 15:20] wrote: > One of the things we have at work is a kern.features sysctl MIB that contains > nodes to indicate if a named feature is present. For example, on i386 we > have kern.features.pae and we auto enable -DPAE for kernel modules if the > currently running kernel is using PAE using that sysctl. > > One of the patches I want to commit soon is support for handling > shm_open/shm_unlink directly in the kernel via swap-backed VM objects (the > long-heralded memfd stuff). I would like to have the sysctl MIB so that > libc's for older releases (e.g. libc.so.6) could use the syscalls if they are > available so that shm segments are shared between compat apps (e.g. 4.x or > 6.x) and up-to-date apps. > > At work we don't have a pretty API for this at all, but I'm thinking for > FreeBSD we can do this: > > FEATURE(foo, "description of foo") > > which is a macro to create the 'kern.features.foo' node and set it to 1. Then > we could have a routine in libc: > > int feature_present(const char *name); > > That returns a boolean to indicate if a given feature is present or not by > invoking sysctlbyname(3), etc. > > Any objections to the idea? > > -- > John Baldwin > _______________________________________________ > freebsd-arch@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-arch > To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org" -- - Alfred Perlstein