Re: /proc/cpuinfo format - arch dependent!

From: Bill Davidsen
Date: Mon May 09 2005 - 14:29:00 EST


Ricky Beam wrote:
On Tue, 19 Apr 2005, Nico Schottelius wrote:

When I wrote schwanz3(*) for fun, I noticed /proc/cpuinfo
varies very much on different architectures.


Yep, and it has been this way since the begining of time.


So that one at least can count the cpus on every system the same way.


Hah. Give me a minute to stop laughing... I argued the same point almost
a decade ago. Linus decided to be an ass and flat refused to ever export
numcpu (or any of the current day derivatives) which brought us to the
bullshit of parsing the arch dependant /proc/cpuinfo.

Don't ever take up a career as a diplomat, no one in their right mind would want such a tactless person for a diplomatic job, say UN ambasador for instance.

Linus did what was probably right then. I would agree that there is room for something better now. Just to prove it could be done (not that this is the only or best way):

cpu0 {
socket: 0
chip-cache: 0
num-core: 2
per-core-cache: 512k
num-siblings: 2
sibling-cache: 0
family: i86
features: sse2 sse3 xxs bvd
# stepping and revision info
}
cpu1 {
socket: 1
chip-cache: 0
num-core: 1
pre-core-cache: 512k
num-siblings: 2
sibling-cache: 64k
family: i86
features: sse2 sse3 xxs bvd kook2
# stepping and revision info
}

This is just proof of concept, you can have per-chip, per-core, and per-sibling cache for instance, but I can't believe that anyone would make a chip where the cache per core or per sibling differed, or the instruction set, etc. Depending on where you buy your BS, Intel and AMD will (or won't) make single and dual core chips to fit the same socket.

The complexity wasn't needed a decade ago, and I'm not sure it is now, other than it being easy to display if people don't complain about breaking the existing format.

--
-bill davidsen (davidsen@xxxxxxx)
"The secret to procrastination is to put things off until the
last possible moment - but no longer" -me

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