Weird situation:
Redhat Enterprise 5.5 (stock install, no updates, x64) on a HP z800 workstation.
(Dual Xeon 2,2 Ghz. 8 cores, 16 if you count Hyper-threading. RH sees 16 cores.)
We have an application that can utilize 1, 2 or 4 threads for heavy calculations.
Somehow all these threads run on the same core at 100% load (the other 15 cores are nearly idle) so there is absolutely no benefit from the extra threads.
In fact there is a slight slowdown as the threads get in each others way on the single core.
How do I get them to run on separate cores (if possible)? Application is 64 bit. Can't change anything about the software except changing the threads setting.
Is there some obscure Linux setting I can try to change? (I'm a True64 and Aix guy. I use Linux, but have no in depth knowledge of the process scheduling on Linux.)