I tried your program on my machine (C2D, 2.6.17, O(1) scheduler).
Both CPUs are 100% busy all the time. Each busy-looping thread is
running on its own CPU. I've been watching top output for 10 minutes,
the spreading is stable and the threads don't bounce at all.
greetings
Cyrus
-