Hyperthreading: easiest userland method?

From: Dan Behman
Date: Fri Sep 12 2003 - 09:42:37 EST


Hi,

I have a need to programmatically determine whether or not hyperthreading
is enabled (and in use) for licensing reasons in my application.
Currently, I know of two ways to do this:

1) parse /proc/cpuinfo for "processor id"
2) port Intel's documented method (written for Windows) to directly query
the CPUs

Both methods have drawbacks - 1) relying on specific text that could change
is a bad idea; 2) this doesn't take into account whether or not Linux
and/or the BIOS is making use of the hyperthreading.

>From scouring the archives and the net, it doesn't seem like there's any
API that currently exists, but perhaps I've missed something.
/proc/cpuinfo gathers its information from somewhere - is there a way in
userland to bypass /proc/cpuinfo and directly get this data manually?

I'm interested in both 2.4 and 2.6 implementations and would like to be
personally CC'ed on any repsonses.

Thanks in advance!

Dan Behman.
IBM Canada Ltd.

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