Repository 32bit  Forum
Repository 64bit  Wiki

[RISOLTO] Detect e Abilitazione Hyper-Threading

Usate questo forum per richieste di aiuto e consigli sull'hardware montato nelle vostre macchine con GNU/Linux Slackware.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata e la versione del Kernel. Questi dati aiutano le persone che possono rispondere.
2) Citare il tipo di hardware coinvolto in modo dettagliato.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT. Non usare termini gergali come procio, mobo e simili per identificare i componenti hardware.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

[RISOLTO] Detect e Abilitazione Hyper-Threading

Messaggioda Calzo » lun dic 28, 2009 15:47

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 :-k)? oppure, che voi sappiate, la mia CPU non può supportare l'HT?

grazie a tutti.
bye
Ultima modifica di Calzo il mar dic 29, 2009 10:28, modificato 1 volta in totale.
Avatar utente
Calzo
Linux 2.0
Linux 2.0
 
Messaggi: 112
Iscritto il: sab ott 06, 2007 21:21
Località: MN
Slackware: 10.2 | 13
Desktop: Fluxbox | KDE

Re: Detect e Abilitazione Hyper-Threading

Messaggioda sya54M » lun dic 28, 2009 16:24

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.
Avatar utente
sya54M
Linux 3.x
Linux 3.x
 
Messaggi: 1441
Iscritto il: mer giu 06, 2007 13:44
Località: (Salerno)
Nome Cognome: Andrea P.
Slackware: 64-current
Kernel: 3.17.x
Desktop: KDE 4.14

Re: Detect e Abilitazione Hyper-Threading

Messaggioda Mario Vanoni » lun dic 28, 2009 16:37

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.
Mario Vanoni
Iper Master
Iper Master
 
Messaggi: 3174
Iscritto il: lun set 03, 2007 20:20
Località: Cuasso al Monte (VA)
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey

Re: Detect e Abilitazione Hyper-Threading

Messaggioda sya54M » lun dic 28, 2009 17:08

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
Avatar utente
sya54M
Linux 3.x
Linux 3.x
 
Messaggi: 1441
Iscritto il: mer giu 06, 2007 13:44
Località: (Salerno)
Nome Cognome: Andrea P.
Slackware: 64-current
Kernel: 3.17.x
Desktop: KDE 4.14

Re: Detect e Abilitazione Hyper-Threading

Messaggioda Calzo » lun dic 28, 2009 17:40

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 :-k
Avatar utente
Calzo
Linux 2.0
Linux 2.0
 
Messaggi: 112
Iscritto il: sab ott 06, 2007 21:21
Località: MN
Slackware: 10.2 | 13
Desktop: Fluxbox | KDE

Re: Detect e Abilitazione Hyper-Threading

Messaggioda sya54M » lun dic 28, 2009 18:05

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.
Avatar utente
sya54M
Linux 3.x
Linux 3.x
 
Messaggi: 1441
Iscritto il: mer giu 06, 2007 13:44
Località: (Salerno)
Nome Cognome: Andrea P.
Slackware: 64-current
Kernel: 3.17.x
Desktop: KDE 4.14

Re: Detect e Abilitazione Hyper-Threading

Messaggioda slux » lun dic 28, 2009 18:47

Per non dimenticare il corretto supporto da parte di chipset e BIOS.....
Avatar utente
slux
Linux 2.6
Linux 2.6
 
Messaggi: 783
Iscritto il: dom mar 20, 2005 0:00
Località: Prato
Nome Cognome: Andrea Amerini
Slackware: 14.1 x86
Kernel: 3.12.0-smp
Desktop: xfce 4.10

Re: Detect e Abilitazione Hyper-Threading

Messaggioda sya54M » lun dic 28, 2009 19:22

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.
Avatar utente
sya54M
Linux 3.x
Linux 3.x
 
Messaggi: 1441
Iscritto il: mer giu 06, 2007 13:44
Località: (Salerno)
Nome Cognome: Andrea P.
Slackware: 64-current
Kernel: 3.17.x
Desktop: KDE 4.14

Re: Detect e Abilitazione Hyper-Threading

Messaggioda Calzo » mar dic 29, 2009 9:41

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
Avatar utente
Calzo
Linux 2.0
Linux 2.0
 
Messaggi: 112
Iscritto il: sab ott 06, 2007 21:21
Località: MN
Slackware: 10.2 | 13
Desktop: Fluxbox | KDE

Re: [RISOLTO] Detect e Abilitazione Hyper-Threading

Messaggioda Calzo » mar dic 29, 2009 10:19

Verificato e risolto: 8)
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
Avatar utente
Calzo
Linux 2.0
Linux 2.0
 
Messaggi: 112
Iscritto il: sab ott 06, 2007 21:21
Località: MN
Slackware: 10.2 | 13
Desktop: Fluxbox | KDE

Re: [RISOLTO] Detect e Abilitazione Hyper-Threading

Messaggioda sya54M » mar dic 29, 2009 11:31

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...
Avatar utente
sya54M
Linux 3.x
Linux 3.x
 
Messaggi: 1441
Iscritto il: mer giu 06, 2007 13:44
Località: (Salerno)
Nome Cognome: Andrea P.
Slackware: 64-current
Kernel: 3.17.x
Desktop: KDE 4.14

Re: [RISOLTO] Detect e Abilitazione Hyper-Threading

Messaggioda joe » mar dic 29, 2009 14:27

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...
Avatar utente
joe
Iper Master
Iper Master
 
Messaggi: 2007
Iscritto il: ven apr 27, 2007 10:21
Slackware: 14.0
Kernel: 3.2.29-smp
Desktop: KDE-4.8.5

Re: [RETTIFICA] Detect e Abilitazione Hyper-Threading

Messaggioda Calzo » gio dic 31, 2009 11:35

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
Avatar utente
Calzo
Linux 2.0
Linux 2.0
 
Messaggi: 112
Iscritto il: sab ott 06, 2007 21:21
Località: MN
Slackware: 10.2 | 13
Desktop: Fluxbox | KDE


Torna a Hardware

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron