Question on /proc/cpuinfo

From: JA MagallÃn
Date: Thu Sep 13 2012 - 18:43:46 EST


Hi...

Probably it is a stupid question, but... I wan to count the number of
processors, cores and threads on a linux system. I do it by reading /proc/cpuinfo.

The problem is that the meaning of 'cpu cores' and 'siblings' seems to have changed
over time. Nowadays, it looks like this:

Dual P4 Xeon with HT:
processor : 0
siblings : 1
cpu cores : 1
processor : 1
siblings : 1
cpu cores : 1
processor : 2
siblings : 1
cpu cores : 0
processor : 3
siblings : 1
cpu cores : 0

Single Atom N450
processor : 0
siblings : 1
cpu cores : 1
processor : 1
siblings : 1
cpu cores : 0

So it just sets logical 'fake' processors that have no core but one thread.
And process would just be count 'processor' lines, add up 'cpu cores' lines
and also add 'siblings' lines. Values of the latter ones are associated
with the ligical processor, no the physical one.

Bu I have seen in google that in old docs and mail threads the values were
associated with physical_id's, so in fact for the atom you would get something
like

processor : 0
siblings : 2
cpu cores : 1
processor : 1
siblings : 2
cpu cores : 1

because both processors were in the same physical one.

Since when is it safe to read things the modern way (kernel version ?).
Is there a better procedure to get this info ?

--
J.A. Magallon <jamagallon()ono!com> \ Winter is coming...
--
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/