Re: How to detect multi-core and/or HT-enabled CPUs in 2.4.x and 2.6.x kernels

From: Martin Knoblauch
Date: Wed Dec 27 2006 - 09:41:06 EST

--- Arjan van de Ven <arjan@xxxxxxxxxxxxx> wrote:

> On Wed, 2006-12-27 at 06:16 -0800, Martin Knoblauch wrote:
> > Hi, (please CC on replies, thanks)
> >
> > for the ganglia project ( we are
> > trying to find a heuristics to determine the number of physical CPU
> > "cores" as opposed to virtual processors added by enabling HT. The
> > method should work on 2.4 and 2.6 kernels.
> I have a counter question for you.. what are you trying to do with
> the
> "these two are SMT sibblings" information ?
> Because I suspect "HT" is the wrong level of detection for what you
> really want to achieve....
> If you want to decide "shares caches" then at least 2.6 kernels
> directly
> export that (and HT is just the wrong way to go about this).
> --
Hi Arjan,

one piece of information that Ganglia collects for a node is the
"number of CPUs", originally meaning "physical CPUs". With the
introduction of HT and multi-core things are a bit more complex now. We
have decided that HT sibblings do not qualify as "real" CPUs, while
multi-cores do.

Currently we are doing "sysconf(_SC_NPROCESSORS_ONLN)". But this
includes both physical and virtual (HT) cores. We are looking for a
method that only shows "real iron" and works on 2.6 and 2.4 kernels.
Whether this has any practial valus is a completely different question.


Martin Knoblauch
email: k n o b i AT knobisoft DOT de
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at