Pagina 1 di 1
[RISOLTO] Detect e Abilitazione Hyper-Threading
Inviato: lun 28 dic 2009, 15:47
da Calzo
Ciao a tutti.
Mi stavo chiedendo come rilevare la presenza dell'Hyper-Threading ed eventualmente abilitarlo.
Stavo dando un'occhiata al file
/proc/cpuinfo e, tra le altre ozioni, leggo questo:
Codice: Seleziona tutto
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Intel(R) Pentium(R) 4 CPU 2.40GHz
stepping : 7
cpu MHz : 2390.368
cache size : 512 KB
[...]
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pebs bts cid xtpr
Io ho sempre saputo/creduto che per il mio laptop l'HT non fosse presente. Però dai flags di
/proc/cpuinfo sembra che possa abilitarlo nel kernel. Secondo il file del kernel
./arch/x86/include/asm/cpufeature.h sembra che HT voglia proprio dire Hyper-Treading
Codice: Seleziona tutto
[...]
#define X86_FEATURE_HT (0*32+28) /* Hyper-Threading */
[...]
Quindi la domanda: con il kernel di default, l'HT non dovrebbe essere già abilitato? e quindi non dovrei vederelo al primo boot del sistema (e quindi vedere 2 pinguini in alto

)? oppure, che voi sappiate, la mia CPU non può supportare l'HT?
grazie a tutti.
bye
Re: Detect e Abilitazione Hyper-Threading
Inviato: lun 28 dic 2009, 16:24
da sya54M
conoscendo i pentium4 ti posso dire che se è un modello con fsb (front side bus) a 800mhz allora ha l'hyper treading, altrimenti (533 o 400) no.
se tale tecnologia è presente bisogna solo attivarla dal bios, quindi già dalla configurazione del bios si capisce se lo supporta o meno.
per quanto riguarda il kernel linux e la configurazione di quello in slackware, è più che apposto, linux lo supporta già nella serie 2.4 e in slackware è attivo.
Re: Detect e Abilitazione Hyper-Threading
Inviato: lun 28 dic 2009, 16:37
da Mario Vanoni
SMT (Hyperthreading) scheduler support -----------------------------------------------------------------------------------+
| CONFIG_SCHED_SMT:
| SMT scheduler support improves the CPU scheduler's decision making
| when dealing with Intel Pentium 4 chips with HyperThreading at a
| cost of slightly increased overhead in some places. If unsure say
| N here.
Per un Pentium 4 meglio,
con i Core 2 Dual dannoso.
Re: Detect e Abilitazione Hyper-Threading
Inviato: lun 28 dic 2009, 17:08
da sya54M
Mario Vanoni ha scritto:Per un Pentium 4 meglio,con i Core 2 Dual dannoso.
infatti tutte le cpu con architettura core2 non hanno l'ht, ma come dicevo prima, nemmeno tutti i pentium4 ce l'hanno ma solo quelli a 800mhz di fsb.
poi sugli i7 è stato reintrodotto l'ht sui quali quindi è meglio attivarlo nel kernel mentre gli i5 si distinguono dagli i7 per il fatto di non avere l'ht
Re: Detect e Abilitazione Hyper-Threading
Inviato: lun 28 dic 2009, 17:40
da Calzo
sya54M ha scritto:conoscendo i pentium4 ti posso dire che se è un modello con fsb (front side bus) a 800mhz allora ha l'hyper treading, altrimenti (533 o 400) no.
Ok. Grazie non lo sapevo. Allora il mio processore non supporta l'HT. Se non ricordo male è un 400MHz di fsb.
Mario Vanoni ha scritto:SMT (Hyperthreading) scheduler support
Nel frattempo ho provato a compilare il kernel con supporto HT... ed effettivamente non è servito a nulla.
Grazie a tutti.
PS: però allora non riesco a capire come mai i flags di
/proc/cpuinfo indichino l'HT presente

Re: Detect e Abilitazione Hyper-Threading
Inviato: lun 28 dic 2009, 18:05
da sya54M
Calzo ha scritto:PS: però allora non riesco a capire come mai i flags di /proc/cpuinfo indichino l'HT presente
una mia ipotesi è che magari già nelle precedenti versioni (quelli a 400 e 533 mhz) fosse implementato l'ht ma disattivato perchè sperimentale.
Re: Detect e Abilitazione Hyper-Threading
Inviato: lun 28 dic 2009, 18:47
da slux
Per non dimenticare il corretto supporto da parte di chipset e BIOS.....
Re: Detect e Abilitazione Hyper-Threading
Inviato: lun 28 dic 2009, 19:22
da sya54M
togliendo "ipotesi" mi sono ricordato di aver letto anni fa (appena usciì questa tecnologia) che c'erano i transistor dell'ht già dal 2ghz a 533mhz ma come dicevo (ricordavo inconsciamente) era disattivato e il primo modello con ht attivo fu il 3.06ghz a 533mhz.
quindi mi sono sbagliato a dire che solo quelli a 800mhz lo hanno, ma tutti quelli precedenti comunque non lo hanno.
slux ha scritto:Per non dimenticare il corretto supporto da parte di chipset e BIOS.....
in effetti siccome esistono anche delle cpu a 533mhz con ht vuol dire che ci sono chipset a 533 che lo supportano e altri no.
Re: Detect e Abilitazione Hyper-Threading
Inviato: mar 29 dic 2009, 9:41
da Calzo
Perfetto. Grazie per le dritte. Ormai con tutte le CPU che la Intel&Co buttano fuori non riesco più a seguire gli avanzamenti tecnologici
Ad ogni modo ho però risolto un problema. Come dicevo anche in
un altro post, il kernel di default della Slack mi dava alcuni problemi sul portatile. Quello più fastidioso è la ventola, la quale è gestita in hardware ed era sempre al massimo anche con CPU praticamente scarica; inoltre era difficile caricare la CPU a dovere e mi sembrava venisse sfruttata male (anche se su questo ultimo punto non ero sicuro).
Ora invece ne sono sicuro ed è colpa del fatto che il kernel è SMP o, forse proprio dell'HT. Infatti usando il kernel 2.6.32.2 compilato con supporto per l'HT (e quindi anche l'SMP) ho riscontrato gli stessi problemi con il kernel di default 2.6.29-smp. Non so come disabilitare l'HT in fase di boot (forse settando
maxcpus=1?... mi è venuto in mente ora), allora ho tolto proprio il supporto smp caricando il kernel con l'opzione
nosmp: il sistema è tornato a funzionare perfettamente e la ventola a fermarsi.
Ora sto rifacendo dei test su un Desktop Celeron (2.8GHz 256k di cache 1G RAM) che indica anche lui l'HT come flag in
/proc/cpuinfo e sembra avere effettivamente qualche problema di peformace. Il test che sto facendo è la ricompilazione delle glibc dallo slackbuild originale: sul mio portatile (P4 2.4GHz 512k cache 512Mb RAM) con kernel ottimizzato ci metto circa 2-2,5 ore se non ricordo male. Sul Celeron ci ho messo circa 9 ore e ho dovuto interrompere che non aveva ancora finito.
Adesso sto riprovando caricando il kenrel con nosmp (sul Celeron). Sperando che non mi dia errori vedremo se le cose sono cambiate.
Grazie.
bye
Re: [RISOLTO] Detect e Abilitazione Hyper-Threading
Inviato: mar 29 dic 2009, 10:19
da Calzo
Verificato e risolto:
Era proprio il l'abilitazione dell'SMP (o HT) che dava prblemi.
La compilazione delle glibc dalle 9 ore e passa è diventata 53minuti e 26. Anche se devo dire che le librerie glibc su questo PC sono state sostituite con quelle di una Arch ora che ci penso quindi, potrebbe essere più veloce anche per quello, ma non giustifica certo un salto di 8 ore.
Grazie a tutti.
bye
Re: [RISOLTO] Detect e Abilitazione Hyper-Threading
Inviato: mar 29 dic 2009, 11:31
da sya54M
eppure pat quando forniva più pacchetti del kernel (uno con smp e l'altro no) diceva che quello con smp funzionava benissimo anche su cpu senza ed infatti io l'ho usato spesso senza mai avere problemi...
Re: [RISOLTO] Detect e Abilitazione Hyper-Threading
Inviato: mar 29 dic 2009, 14:27
da joe
Nel mio caso avendo un pentium 4 da 3.2 GHz:
Codice: Seleziona tutto
cpu family : 15
model : 3
model name : Mobile Intel(R) Pentium(R) 4 CPU 3.20GHz
stepping : 4
cpu MHz : 1862.000
cache size : 1024 KB
Ho avuto in passato gravi disguidi con la ventola di raffredamenteo, si tratta di un portatile...
Nel mio caso la ventola gira sempre, non è mai muta. Ma ovviamente a seconda dell'impiego della cpu oscilla in termini di numero di giri.
In ogni caso col kernel normale o anche smp non riuscito a controllarne la velocità, in modo da zittire un po' la situazione.
Alla fine, alcuni anni fa mi sono cimentato nella ricopilazione del kernel, specificando la famiglia del processore e attivando l'HT. A quel punto sono riuscito a controllare la sitazione utilizzando il pacchetto cpufreq-utils. All'avvio vedo correttamente i due pinguini, e i settaggi devo applicarli su la cpu0 e cpu1, a conferma che l'HT è attivo e funzionante in quanto ci sono 2 processori virtuali.
Per non avere troppo rumore, mantengo la frequenza del processore al minimo step pari a 1.8 GHz, altrimenti la situazione non è vivibile. Ci sono anche tattiche di scaling più fini, tipo ondemand ecc ecc, ma a volte mi hanno dato problemi lasciando la cpu alla massima frequenza. Allora siccome non ho grosse esigenze di cpu, ho scelto di tenere la fequenza al minimo. Certo, eventualmente se lancio una compilazione del kernel posso sempre passare alla massima frequenza in quanto il governor che ho scelto è userspace se non ricordo male....ovvero, posso settare la frequenza a mano senza problemi.
Probabilmente, ma non so la butto lì. Ci saranno anche altri punti su cui giocare per affinare la configurazione del kernel per la specifica cpu, sinceramente però li ignoro...
Re: [RETTIFICA] Detect e Abilitazione Hyper-Threading
Inviato: gio 31 dic 2009, 11:35
da Calzo
sya54M ha scritto:eppure pat quando forniva più pacchetti del kernel (uno con smp e l'altro no) diceva che quello con smp funzionava benissimo anche su cpu senza ed infatti io l'ho usato spesso senza mai avere problemi...
Infatti secondo me non te ne accorgi se non metti sotto stress il processore.
joe ha scritto:All'avvio vedo correttamente i due pinguini, e i settaggi devo applicarli su la cpu0 e cpu1, a conferma che l'HT è attivo e funzionante in quanto ci sono 2 processori virtuali
Per la cronaca, joe, visto quello che hai detto, mi è venuto il sospetto che non fosse l'HT a dare problemi, ma semplicemente il fatto di avere un kernel SMP. Allora ho ricompilato il kernel abilitando l'SMP, 2cpu massimo, ho tolto l'HT e ho tolto anche il "Multi-core scheduler support" perchè dall'help sembra che possa aumentare un po' l'overhead di sistema.
Il risultato non è cambiato moltissimo: il sistema riavviato sembra degradi un po' le prestazioni, ma è comunque usabile anche a livello grafico (ho fatto un test anche con Quake3Arena), ma la CPU non va mai al massimo (o almeno non viene rilevata al massimo), mentre la ventola implora pietà trasformando il PC in un aspirapolvere.
Quindi credo ora di poter dire con una certa sicurezza che non è proprio l'HT che mi da problemi, ma il supporto SMP.
bye