Re: [PATCH] Use uname not sysctl to get the kernel revision

From: Albert Cahalan
Date: Thu Jul 13 2006 - 02:11:20 EST


On 7/13/06, Albert Cahalan <acahalan@xxxxxxxxx> wrote:
On 7/13/06, H. Peter Anvin <hpa@xxxxxxxxx> 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:
http://www.freebsd.org/cgi/man.cgi?manpath=FreeBSD+7.0-current

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.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/