Is there a canonical way for user-space software to determine how many real CPUs are present in a system (as opposed to HyperThreaded or otherwise virtual CPUs)?
We have an application that for performance reasons wants to run one process per CPU. However, on a HyperThreaded system /proc/cpuinfo lists two CPUs, and running two processes in this case is the wrong thing to do. (Hyperthreading ends up degrading our performance, perhaps due to cache or bus contention).
Please CC replies.
Thanks, Dan Maas -
The simplest thing to do would be to boot with the "noht" parameter.
Or you can use "schedtool" (google or freshmeat) to set the CPU-affinity at runtime to avoid HyperThreading the processes.
Daniel Andersen
-- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/