Hyperthreading & P4 Xeon

Miroslav BENES mbenes na tenez.cz
Středa Leden 15 09:06:05 CET 2003


> Finta HT je v tom, ze se vyuziji vicenasobne vyrobene komponenty v CPU. ...

Nakonec proc ne. Lepsi nez kdyby se mely flakat.


> Nicmene skutecne nasazeni 2 FPU uvnitr CPU nevede ke zdvojnasobeni
> vykonu, protoze neni pravidlem aby byly za sebou porad matematicke
> instrukce (a jeste k tomu nezavisle).

To je jasne. Ale pri dnesnich cenach komponent je kazde procento 
dobre. A kdyz uz to nebude lepsi, muzu si aspon rict, ze jsem to 
zkusil :)

BTW v diskusi zaznalo, ze vyokn muze byt horsi, pokud se druha 
uloha prideli logickemu "podprocesoru", zatimco se druhy 
(fyzicky) procesor flaka. To je jiste pravda, ale u 
"jednoprocesorovych SMP" stroju to nemuze snizovat propustnost.
Druha uloha, ktera se bude zpracovavat v druhem "logickem" 
procesoru by podle planovace uloh stejne prisla na radu a v tu 
chvili by se musel v klasickem stroji cely CPU "uklidit", 
zatimco u HT se s jistou pravdepodobnosti "jen" prepne kontext a 
pouziji se predchozi obsahy registru ...



$ Jak rikam v jadru jem nic nenastavoval jen v biosu jsem rekl, 
$ ze chci HyperThreading

$ D. Toman

No jo, ale kde se to v tom BIOSu nastavuje ? Ja tam nic takoveho 
nemuzu najit :-\

Deska je MSI 45PE Max2 (MS-6704), na strance s popisem je logo 
"HTready!", ale jinak nikde nic.
Viz : 
http://www.msi.com.tw/program/products/mainboard/mbd/pro_mbd_deta
il.php?UID=366&MODEL=MS-6704

Mate nekdo tuhle desku ?
Zkusim si stahnout novejsi BIOS, ale uz tomu moc neverim.

BTW jak se pozna CPU, ktere je pripraveno na HT ? Posilal jsem i 
vypis cpuinfo, ve kterem bylo mj.: 

> flags  : fpu vme de pse tsc msr pae mce cx8 apic sep ss ht tm

A jak jsem byl nakopnut, mel by - podle flagu "ht".



% A beze zmeny cehokoliv v BIOSu to s 2.4.18 najde pouze 
% 2 procesory s 2.4.19 to najde 4.

% V zasade je mi jedno cim to je, muze to byt i tim, ze ten stroj je
% relativne novy, a s 2.4.19 HT funguje.  Nicmene toto muze byt problem i
% predchoziho tazatele, tudiz si myslim, ze by mel vyzkouset i novejsi
% kernel. Tot vse z me strany, co k tomu mam rict...

Skusil jsem 2.4.20-2.12 od RH. Vypisy jsou prakticky stejne s 
jedinym podstatnym rozdilem :

CPU: Hyper-Threading disabled.

Tato hlaska je v arch/i386/kernel/setup.c :

#ifdef CONFIG_SMP
 if (test_bit(X86_FEATURE_HT, &c->x86_capability) && 
!disable_x86_ht) {
	...
    cpuid(1, &eax, &ebx, &ecx, &edx);
    smp_num_siblings = (ebx & 0xff0000) >> 16;

    if (smp_num_siblings == 1) {
      printk(KERN_INFO  "CPU: Hyper-Threading is disabled\n");
	...

Jestli dobre vidim, musim splnit nasledujici podminky :
 - preklad s podporou SMP (splneno)
 - CPU s flagem "ht" (splneno)
 - provest instrukci CPUID (taky splneno)
 - CPU ohlasi pocet "vlaknovodu" - asi ohlasil jenom jeden :(
 Nebo ze by to bylo potlaceno tim BIOSEM ??

BTW k cemu je podpora "cpuid" v kernelu ? Domnival jsem se, ze 
se da to ID nejak rozumne zjistit (napr z /proc), ale bud jsem 
postizen slepotou nebo to tam neni ?!?

A k cemu to chci ? No rad bych se podival, kolik "siblings" tam 
bude zapsano ...



% P.S.: Mohli bychom zustat u vykani?  Nevim jak vas, ale me doma ucili, ze
% je slusne cizim lidem, ktere neznam vykat a priznam se, ze mi tykani v
% konferenci vadi.

% Ondrej Sury


Na tohle tema tu uz prece byla debata pred casem a pokud si 
dobre pamatuji, nemela vetsina ucastniku nic proti tykani - a 
zbytek si muze pozadavek na vykani zapsat treba do podpisu ...



Dekuji vsem za prispevky.


--------------------------
Miroslav BENES
E-mail   : mbenes na tenez.cz
TENEZ Chotebor, a.s
--------------------------



Další informace o konferenci Linux