RE: detecting hyperthreading in linux 2.4.19

Pallipadi, Venkatesh (venkatesh.pallipadi@intel.com)
Fri, 10 Jan 2003 00:16:39 -0800


> -----Original Message-----
> From: Mikael Pettersson [mailto:mikpe@csd.uu.se]
>
> My performance monitoring counters driver uses this approach
> in kernel-space
> using smp_call_function(). I don't use the siblings tables
> because they suck :-)
> [I don't think they distinguish between logical CPUs #0 and
> #1, and they aren't
> exported to modules. The CPUID check is simple and portable
> across kernel versions.]

I believe it is better to use a OS interface to find out HT, rather than
using CPUID. The reason being, it is possible to have HT disabled, in OS,
even after processor and the BIOS supports it.
1) Consider the case when processor and BIOS supports HT, but linux
was booted with "noht" boot option (now I am not sure whether that option is
there in 2.4.19. But is is certainly there in some other kernels).
2) What about some other kernel which is totally ignorant about HT, and
doesn't initialize logical processor (kernel which looks at MPS in place
of ACPI)
I think, in both these cases cpuid can still say HT is present.

I know that sibling table is not exported. But I couldn't get your other
comment about sibling table "they distinguish between logical CPUs #0 and #1:"
Can you elaborate..

Thanks,
-Venkatesh
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/