[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.
Rispondi
Avatar utente
Calzo
Linux 1.x
Linux 1.x
Messaggi: 112
Iscritto il: sab 6 ott 2007, 22:21
Slackware: 10.2 | 13
Desktop: Fluxbox | KDE
Località: MN

[RISOLTO] Detect e Abilitazione Hyper-Threading

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

grazie a tutti.
bye
Ultima modifica di Calzo il mar 29 dic 2009, 10:28, modificato 1 volta in totale.

Avatar utente
sya54M
Master
Master
Messaggi: 1665
Iscritto il: mer 6 giu 2007, 14:44
Nome Cognome: Andrea Peluso
Slackware: 64-current
Kernel: ultimo
Desktop: KDE
Località: (Salerno)
Contatta:

Re: Detect e Abilitazione Hyper-Threading

Messaggio 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.

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: Detect e Abilitazione Hyper-Threading

Messaggio 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.

Avatar utente
sya54M
Master
Master
Messaggi: 1665
Iscritto il: mer 6 giu 2007, 14:44
Nome Cognome: Andrea Peluso
Slackware: 64-current
Kernel: ultimo
Desktop: KDE
Località: (Salerno)
Contatta:

Re: Detect e Abilitazione Hyper-Threading

Messaggio 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

Avatar utente
Calzo
Linux 1.x
Linux 1.x
Messaggi: 112
Iscritto il: sab 6 ott 2007, 22:21
Slackware: 10.2 | 13
Desktop: Fluxbox | KDE
Località: MN

Re: Detect e Abilitazione Hyper-Threading

Messaggio 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 :-k

Avatar utente
sya54M
Master
Master
Messaggi: 1665
Iscritto il: mer 6 giu 2007, 14:44
Nome Cognome: Andrea Peluso
Slackware: 64-current
Kernel: ultimo
Desktop: KDE
Località: (Salerno)
Contatta:

Re: Detect e Abilitazione Hyper-Threading

Messaggio 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.

Avatar utente
slux
Linux 3.x
Linux 3.x
Messaggi: 789
Iscritto il: dom 20 mar 2005, 0:00
Nome Cognome: Andrea Amerini
Slackware: 14.1 x86
Kernel: 3.12.0-smp
Desktop: xfce 4.10
Località: Prato
Contatta:

Re: Detect e Abilitazione Hyper-Threading

Messaggio da slux »

Per non dimenticare il corretto supporto da parte di chipset e BIOS.....

Avatar utente
sya54M
Master
Master
Messaggi: 1665
Iscritto il: mer 6 giu 2007, 14:44
Nome Cognome: Andrea Peluso
Slackware: 64-current
Kernel: ultimo
Desktop: KDE
Località: (Salerno)
Contatta:

Re: Detect e Abilitazione Hyper-Threading

Messaggio 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.

Avatar utente
Calzo
Linux 1.x
Linux 1.x
Messaggi: 112
Iscritto il: sab 6 ott 2007, 22:21
Slackware: 10.2 | 13
Desktop: Fluxbox | KDE
Località: MN

Re: Detect e Abilitazione Hyper-Threading

Messaggio 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

Avatar utente
Calzo
Linux 1.x
Linux 1.x
Messaggi: 112
Iscritto il: sab 6 ott 2007, 22:21
Slackware: 10.2 | 13
Desktop: Fluxbox | KDE
Località: MN

Re: [RISOLTO] Detect e Abilitazione Hyper-Threading

Messaggio da Calzo »

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
sya54M
Master
Master
Messaggi: 1665
Iscritto il: mer 6 giu 2007, 14:44
Nome Cognome: Andrea Peluso
Slackware: 64-current
Kernel: ultimo
Desktop: KDE
Località: (Salerno)
Contatta:

Re: [RISOLTO] Detect e Abilitazione Hyper-Threading

Messaggio 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...

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3797
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: [RISOLTO] Detect e Abilitazione Hyper-Threading

Messaggio 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...

Avatar utente
Calzo
Linux 1.x
Linux 1.x
Messaggi: 112
Iscritto il: sab 6 ott 2007, 22:21
Slackware: 10.2 | 13
Desktop: Fluxbox | KDE
Località: MN

Re: [RETTIFICA] Detect e Abilitazione Hyper-Threading

Messaggio 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

Rispondi