Yo,
Myself and a colleague were just discussing the output of /proc/cpuinfo,
specifically the CPU siblings field. He pointed out/we think that this
historically was supposed to be number of HT siblings for a given CPU.
The actual value of that field comes from the Hamming Weight (number of
set bits) of the per_cpu cpu_core_map variable, which supposedly is
"representing HT and core siblings of each logical CPU", i.e. both HT
siblings and additional cores within the same CPU package.
Does this mean that "siblings" needs renaming? (doesn't it come
originally from "HT siblings"? or is it supposed to be both?). More
importantly, what's the correct way to determine number of HTs?
Jon.
Jon Masters wrote:
> Yo,
>
> Myself and a colleague were just discussing the output of /proc/cpuinfo,
> specifically the CPU siblings field. He pointed out/we think that this
> historically was supposed to be number of HT siblings for a given CPU.
>
> The actual value of that field comes from the Hamming Weight (number of
> set bits) of the per_cpu cpu_core_map variable, which supposedly is
> "representing HT and core siblings of each logical CPU", i.e. both HT
> siblings and additional cores within the same CPU package.
>
> Does this mean that "siblings" needs renaming? (doesn't it come
> originally from "HT siblings"? or is it supposed to be both?). More
> importantly, what's the correct way to determine number of HTs?
>
Related topic: Intel has announced that some of their new CPU lines will
once again have SMT in each core. Just the thought of multiple sockets
with multiple core, with multiple threads and shared L3 cache sounds
like a scheduling nightmare.
--
Bill Davidsen <[email protected]>
"We have more to fear from the bungling of the incompetent than from
the machinations of the wicked." - from Slashdot