RE: Intel Core Duo/Duo2 T2300/E6400 - Hyper-Threading (the absence of)

From: David Schwartz
Date: Mon Jan 08 2007 - 21:07:46 EST



> On two of my new machines, with Intel Core Duo T2300 and Core2 Duo E6400
> chips respectively, I noticed some weirdness in how many CPUs are
> present.
>
> If the hyper-threading bit is present in the CPU info, should there
> always be a an extra CPU presented to the system per physical core?

No. That just means the CPU supports hyper-threading technology. That
doesn't mean it actually has an extra CPU per physical core, or that even if
it did, that that core was enabled.

> Both the Core1 and Core2 chips I have the ht bit set, but present only
> their two physical cores to the system. No access to the hyper-threading
> capabilities at all. I also see no configuration options in the BIOS to
> enable or disable hyper-threading. That is, /proc/cpuinfo and all
> topology data only shows 2 CPUs present, and that they are not the HT
> pair.
> (CONFIG_NR_CPUS=8 is set).

Intel considers multiple physical cores on a chip to be hyper-threading too.
HT is a marketing term, not a technical one.

> (This was originally triggered by somebody else's code that read the CPU
> flags, saw hyper-threading, and decided there were 2x cpus for each
> physical core. Said code has already been taken out back and shot
> repeatedly).

Yeah, that's wrong for many reasons. Even if the CPU does support an extra
logical core per physical core, it may or may not be enabled and in use.
Basically, the HT bit being set tells you that you should continue to
determine the number of logical and physical cores present. It's just a step
in the detection sequence.

DS


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