kernel_learner wrote: > Once again...what do I do in order to enable > hyperthreading on my Linux/P4 machine? Also what was > Dave talking about when he said 'siblings'? not all P4s support multithreading. the latest Xeon and the next P4 3Ghz do, but i don't know if anyone else does. also, you have to enable it on the BIOS. again, not all support it if you get those two things, your machine will look as a dual CPU to the software, so you could just compile a SMP kernel .... and find it slower than before why? because those two 'virtual CPU's on each real cpu aren't full processors, just two streams of instructions kept separate by the instruction dispatcher and a clever hack of the existing register renaming units. you don't have more horsepower to apply to two streams so, what is it good for? the main bottleneck right now on the x86 architecture is getting such an old instruction set work nice with a superscalar processor. since it's so dificult for the OOOD unit to find enough non-exclusive instructions to fill the queues, it makes sense to pick instructions from two separate execution threads. and the catch? but the tradeoffs to be considered by the OS's scheduler are absolutely different from having two real CPUs. the worst example is having two real hyperthreading CPUs: P0 and P1, each having two 'virtual cpus': vP00 and vP01 on P0 and vP10, vP11 on P1. then; if the scheduler sees those as just 4 cpus, and has (for this example) two ready processes. it might try to run them on vP00 and vP01, leaving vP10 and vP11 idle. this would be fine if those 4 cpus were really independent, but here vP00 and vP01 are 'siblings' and using one makes the other slower; creating the imbalance and seriously degrading performance. sometimes more than 40% so it's just crap? no, a fully HT-aware scheduler could make good use for it, achieving performance gains of 10%-15%, and almost never getting it worse than disabling HT. Ingo Molnar wrote a patch for the O(1) scheduler kernel, getting it to deliver steady performances, instead of the wild fluctuations seen with the stock kernel. read about it here http://kerneltrap.org/node.php?id=406 ----- Javier -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/