Respektive ma se spustit na polovicnim poctu vlaken nez ma CPU, pokud je zaply HT. Jelikoz u HT jsou vsechny jadra ekvivalentni. Jedni pisou, ze si tu virtualizaci ridi CPU sam, jini, ze si to ridi scheduler (aspon ve windows, u linuxu to bude asi stejne). Tezko rict, jak to je. Dava smysl, ze si fyzicky jadra ridi CPU sam, uz jenom treba kvuli boostu, kdy pri zatizeni dvou jader vybere ty fyzicky nejvzdalenejsi, aby se co nejlip odvedlo teplo a pak je treba mezi sebou strida a OS o tom vubec nemusi vedet. Nicmene OS ma vlastni scheduler, takze by to u HT mohlo vest k propadu performance, kdyby si OS myslel, ze jsou nektere jadra nevytizene. Z tech polopravd a polomytu jsem dosel k pravdepodobnemu zaveru, ze hardwarove jsou jadra virtualni a CPU si je zatezuje podle potreby nezavisle na OS (ale OS muze patrne nejake konkretni jadro fyzicky vypnout, pokud by bylo treba spatne). A o HT ma OS povedomi, ktere je ktere a prirazuje to podle vytizeni, kdy HT virtualni jadra zacne pouzivat az kdyz je potreba a CPU HW si to zas rozdeli mezi jednotlive fyzicke jadra podle optimalizace. Takhle jsem pochopil, ze to funguje na windows, coz tak nejak dava smysl a pro SW jde o transparentni reseni. Jestli existuje nejaky prepinac, kdy se rekne, ze se chce, aby bezelo preferencne jen na fyzickych jadrech, jsem nenasel. Ale zas by to moc nedavalo smysl, protoze to stejne ridi scheduler.
Nicmene doted jsem zil v tom, ze kdyz pustim proces s /affinity 0xaa nebo 0x55, ze se pusti jen na fyzickych jadrech. Ale asi je to uplne jedno a bude to stejne jako kdyz se pusti jako 0xf, 0x17 atd ....