Date: Fri, 28 Dec 2007 12:19:14 +0100 From: Kris Kennaway <kris@FreeBSD.org> To: John Baldwin <jhb@FreeBSD.org> Cc: arch@FreeBSD.org Subject: Re: kernel features MIB Message-ID: <4774DBB2.5060707@FreeBSD.org> In-Reply-To: <200712271704.44796.jhb@FreeBSD.org> References: <200712271704.44796.jhb@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
John Baldwin 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? > I have wanted something like this for a long time. In ports land they often need to know this kind of thing, e.g. is compat4x support enabled in the kernel, etc. Kris
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4774DBB2.5060707>