Seems to me that popular opinion is against enabling hyper-threading on multi-core systems tho.
Then why does Intel waste their time designing 10-core Xeons with hyperthreading (thus 20 logical cores) and why do companies waste thousands of dollars buying them? Hyperthreading requires a more intelligent scheduler but there's nothing wrong with it.
Code:
//try
//{
if (a) do { f( b); } while(1);
else do { f(!b); } while(1);
//}