This is the mail archive of the
mailing list for the glibc project.
Re: [PATCH] Use uname not sysctl to get the kernel revision
On 7/13/06, Albert Cahalan <firstname.lastname@example.org> wrote:
On 7/13/06, H. Peter Anvin <email@example.com> wrote:
> Albert Cahalan wrote:
> >> The numerical namespace for sysctl is unsalvagable imho. e.g.
> >> distributions regularly break it because there is no central
> >> repository of numbers so it's not very usable anyways in practice.
> > Huh? How exactly is this different from system call numbers,
> > ioctl numbers, fcntl numbers, ptrace command numbers, and every
> > other part of the Linux ABI?
> Mostly because some branches of the sysctl tree have dynamic content
> which is hard to marshal into a numeric form.
Dynamic content is no problem. FreeBSD uses sysctl
to implement their "ps" program. The process info comes
out of sysctl now. The sysctl man page has an example.
Non-numeric data is more troublesome. FreeBSD has
a syscall that will take text (still faster than /proc/sys),
and another that will convert the text representation
into numeric form for later high-performance use.
Look up all 3 calls here, in section 2:
Excuse me, it's in section 3. I don't know if they use
a _sysctl like we do or what. Anyway, they claim that
the numeric version is several times faster, so I don't
think this is just a libc wrapper around /proc.