Re: /proc/cpuinfo format - arch dependent!

From: John Kacur
Date: Sun May 08 2005 - 11:11:35 EST


On Sat, 2005-05-07 at 21:25, Jim Nance wrote:
> On Sat, May 07, 2005 at 01:20:05PM -0400, Dave Jones wrote:
> > On Sat, May 07, 2005 at 07:05:56PM +0200, Willy Tarreau wrote:
>
> > > system "hey, I'd like this type of workload, how many process should
> > > I start, and where should I bind them ?".
> >
> > I think generalising this and having a method to do this in the kernel
> > is a much better idea than each application parsing this themselves.
> > Things are only getting more and more complex as time goes on,
> > and I don't trust application developers to get it right.
>
> As a developer of a multiprocess/multithreaded application I can assure
> you that you are right not to trust application developers to get this
> right. The idea that a programmer understands the behavior of the
> applications they write is largely a myth. Furthermore, I suspect
> that SMT will evolve in directions that make the idea of a processor
> more and more fuzzy. I don't think it is wise to construct any
> interface that suggests knowing the hardware details is good, or that
> processes should be bound by userland. Certainly it is sometimes
> necessary for userland to do this, but we should look at that as a
> bug in the kernel.
>
> Thanks,
>
> Jim

Aw c'mon. Don't we believe in the C programming philosphy of trusting
the programmer? You know, give them enough rope to hang themselves?
Personally, I don't care because I can parse cpuid and the like directly
myself, but examples of legitimate uses for this knowledge are
compilers, jvms, and threading libraries, all which although lowlevel,
are technically userland. I don't think it's our job to protect the user
from themselves, it's to give them a reasonable default, and the
interfaces to take advantage of the tricker stuff for special purposes
if they wish.

-
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/