Re: detecting hyperthreading in linux 2.4.19

James Cleverdon (jamesclv@us.ibm.com)
Thu, 9 Jan 2003 13:37:04 -0800


On Thursday 09 January 2003 12:02 pm, Jason Lunz wrote:
> Is there a way for a userspace program running on linux 2.4.19 to tell
> the difference between a single hyperthreaded xeon P4 with HT enabled
> and a dual hyperthreaded xeon P4 with HT disabled? The /proc/cpuinfos
> for the two cases are indistinguishable.
>
> Jason
>
> -

In the kernel that's no problem:

A) If the BIOS writers followed Intel's guidelines, just look at the physical
APIC IDs. HT siblings have odd IDs, the real ones have even.

B) Check the siblings table built up at boot time and used by the scheduler.

I don't know of any way to do this in userland. The whole point is that the
sibling processors are supposed to look like real ones.

You _could_ try running two processes simultaneously in tight spin loops for
100 million cycles and comparing the amount of real time consumed. That
would be rather unreliable and kludgey though.

-- 
James Cleverdon
IBM xSeries Linux Solutions
{jamesclv(Unix, preferred), cleverdj(Notes)} at us dot ibm dot com

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