# [OFF] Savoir si l'hyperthreading fonctionne?

## Mickael

Bonjours,

je me pose une question à propos de l'hyperthreading. Mon portable possède un processeur PENTIUM 4-M 1,8Ghtz. J'ai dans mon noyau actuellment le support SMP d'activer afin d'avoir accès à l'hyperthreading (option SMT). 

```
zgrep -i smt /proc/config.gz

CONFIG_SCHED_SMT=y

```

Un rapide coup d'oeil dans message me dit : 

```
grep SMP /var/log/messages

May 18 08:04:43 lab-mparis found SMP MP-table at 000f5cc0

May 18 08:04:43 lab-mparis Using ACPI (MADT) for SMP configuration information

```

et cpuinfo me retourne :

```
processor       : 0

vendor_id       : GenuineIntel

cpu family      : 15

model           : 2

model name      : Mobile Intel(R) Pentium(R) 4 - M CPU 1.80GHz

stepping        : 7

cpu MHz         : 1800.168

cache size      : 512 KB

fdiv_bug        : no

hlt_bug         : no

f00f_bug        : no

coma_bug        : no

fpu             : yes

fpu_exception   : yes

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

bogomips        : 3607.03

```

C'est bien joli, mais d'après ce que j'ai pu lire d'ici de là, même si je n'ai qu'un seul processeur simple coeur, normalement cpuinfo devrait semble t-il en voir 2...? Alors ce flags ht, c'est du bidon, ou bien pour avoir l'hypertrhreading faut il un chipset ou tout autre chose afin de l'activer. Mais la question principale est : comment savoir si l'hyperthreading est réellement utilisé?

Merci.

----------

## Bobyl

Bizarre ça,

j'ai les mêmes réglages que toi apparemment...

J'ai un proc avec hyper-threading un peu plus ancien (P4 3GHz) et cpuinfo me rapporte bien deux processeurs:

```
processor       : 0

vendor_id       : GenuineIntel

cpu family      : 15

model           : 3

model name      : Intel(R) Pentium(R) 4 CPU 3.00GHz

stepping        : 4

cpu MHz         : 2994.544

cache size      : 1024 KB

physical id     : 0

siblings        : 2

core id         : 0

cpu cores       : 1

fdiv_bug        : no

hlt_bug         : no

f00f_bug        : no

coma_bug        : no

fpu             : yes

fpu_exception   : yes

cpuid level     : 3

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 constant_tsc pni monitor ds_cpl cid xtpr

bogomips        : 5995.26

processor       : 1

vendor_id       : GenuineIntel

cpu family      : 15

model           : 3

model name      : Intel(R) Pentium(R) 4 CPU 3.00GHz

stepping        : 4

cpu MHz         : 2994.544

cache size      : 1024 KB

physical id     : 0

siblings        : 2

core id         : 0

cpu cores       : 1

fdiv_bug        : no

hlt_bug         : no

f00f_bug        : no

coma_bug        : no

fpu             : yes

fpu_exception   : yes

cpuid level     : 3

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 constant_tsc pni monitor ds_cpl cid xtpr

bogomips        : 5988.90
```

----------

## kopp

Oui, tu devrais en avoir deux, mais dans le noyau, c'est SMP et pas SMT

Vérifie du coup que c'est bien activé.

```
kopp:~ >> zgrep -i smp /proc/config.gz

# CONFIG_X86_BIGSMP is not set

CONFIG_SMP=y

CONFIG_X86_FIND_SMP_CONFIG=y

CONFIG_X86_SMP=y
```

Pareildans cpuinfo, j'en ai deux avec un P4 HT

Puis au passage, vérifie que ça l'est dans le BIOS aussi, si après ça, ça ne marche pas.

----------

## Mickael

Merci à vous deux,

en effet c'est bien activé :

```
# CONFIG_X86_BIGSMP is not set

CONFIG_SMP=y

CONFIG_X86_FIND_SMP_CONFIG=y

CONFIG_X86_SMP=y

```

 *Quote:*   

> Puis au passage, vérifie que ça l'est dans le BIOS aussi, si après ça, ça ne marche pas.

 

OK Kopp, mais je fais comment stp? (jamais mis mes pattes dans le bios (sauf pour les questions de boot sur cd etc)==>j' évite toutes conneries possibles)

----------

## kopp

J'ai quand même un doute sur le fait que les pentium4-m dispose de l'HT. Mais essaye donc de voir avec ton bios.

Sinon, je ne vois pas quoi ajouter dans la config...

EDIT : pour le bios, et bien, j'en sais rien, je ne sais pas comment il se présente sur ta machine, mais ballade toi dedans, au pire il suffit de ne pas sauvegarder. Chez moi, j'ai un truc explicite qui parle de l'activation de l'hyperthreading, mais je ne sais plus le nom du menu. Si tu ne sauvegardes rien, ni ne change autre chose que quelque chose d'explicite, ça craint rien. Tu peux peut etre trouvé un manuel pour ton bios sur le net et chercher dedans.

----------

## Mickael

Merci, je fouine et je vous tiens au courant.

----------

## Bobyl

 *MickTux wrote:*   

> 
> 
>  *Quote:*   Puis au passage, vérifie que ça l'est dans le BIOS aussi, si après ça, ça ne marche pas. 
> 
> OK Kopp, mais je fais comment stp? (jamais mis mes pattes dans le bios (sauf pour les questions de boot sur cd etc)==>j' évite toutes conneries possibles)

 

Comme l'a dit Kopp, tout dépend du BIOS. Sur le desktop que j'utilise au labo (Dell), il y a un menu "performance" dans le BIOS qui permet de régler l'activation ou non du HT. Et sur le portable (Nec), c'est dans le menu "Advanced configuration -> performance". Désolé de ne pas pouvoir aider plus.

Par ailleurs, je viens de jeter un coup d'oeil sur les datasheets sur le site d'intel et aucune ne fait mention de l'Hyper-Threading dans les pentium M.

edit: dans ton premier message, tu parles d'un P4-M à 1,8 GHz... Tu es sûr que ce n'est pas un pentium M? La plus basse fréquence pour un P4-M, c'est 2,4GHz...

----------

## kopp

Bobyl : nan nan il y en a eu des 1.8Ghz. D'ailleurs, c'est pas lui qui le dit, mais cpuinfo ! Il donne le nom du processeur donc c'est bien ça. Par contre, je plussoie l'absence de HT : parait que ça bouffe trop de puissance, mais je n'avais pas de source sure.

----------

## Mickael

Bon,

est bien je viens de regarder dans le BIOS est je n'y ai rien vu qui pourrait ressembler de près ou de loin à l'hyperthreading....

Merci pour vos réponses les gars.

je m'en retourne à mon suspend2 qui marche pas...

----------

## netfab

Salut,

Avec ta question, tu m'as mis un gros doute là  :Mr. Green: 

Parce que :

 *Quote:*   

> 
> 
> $ cat /proc/cpuinfo
> 
> processor       : 0
> ...

 

Après moultes recherches, j'ai réussi à identifier correctement mon processeur, et il se trouve que c'est celui-ci : ce qui est confirmé par l'utilitaire d'intel :

 *Quote:*   

> 
> 
> Intel(R) Processor Identification Utility
> 
> Version: 2.8.20060328
> ...

 

Et par cette page :

 *Quote:*   

> Intel® Pentium® 4 processors supporting Hyper-Threading Technology
> 
> 	800 MHz system bus: 3.80 GHz, 3.60 GHz, 3.40E GHz, 3.40 GHz, 3.20E GHz, 3.20 GHz, 3E GHz, 3, 2.80E GHz, 2.80C GHz, 2.60C GHz, 2.40C GHz
> 
> 533 MHz system bus: 3.06 GHz

 

Pas de bol... mais le /proc/cpuinfo indique tout de même le flag ht  :Confused: 

----------

## Mickael

Salut NetFab,

tu peux également utiliser x86info -a en tant que root pour avoir des infos en détail sur ton processeur. Exemple :

```

...

..

.

Family: 15 Model: 2 Stepping: 7 Type: 0 Brand: 14

CPU Model: Pentium 4 (Northwood) [C1] Original OEM

Processor name string: Mobile Intel(R) Pentium(R) 4 - M CPU 1.80GHz

.

..

...
```

----------

## netfab

Je ne connaissais pas cet utilitaire, je vais voir ce que çà donne, merci.

Par contre, je crois que j'ai un petit problème :

 *Quote:*   

> 
> 
> # emerge x86info
> 
> Erreur de segmentation
> ...

 

 :Laughing: 

----------

## Mickael

J'ai la version 1.13, et je n'ai eu aucun problème à l'installation.

----------

## nemo13

 *MickTux wrote:*   

> J'ai la version 1.13, et je n'ai eu aucun problème à l'installation.

 

rha 

```
Pentium 4 specific MSRs:

/dev/cpu/0/msr: No such file or directory
```

flûte alors va encore falloir recompiler le noyau  :Very Happy:   :Very Happy:   :Very Happy: 

merci

----------

## Mickael

 *nemo13 wrote:*   

>  *MickTux wrote:*   J'ai la version 1.13, et je n'ai eu aucun problème à l'installation. 
> 
> rha 
> 
> ```
> ...

 

Idem pour moi 

```
x86info -a
```

```
...Pentium 4 specific MSRs:

/dev/cpu/0/msr: No such file or directory

...
```

Tient nous au courant Nemo13 pour la manip dans le kernel.  :Wink: 

----------

## geekounet

 *MickTux wrote:*   

> Tient nous au courant Nemo13 pour la manip dans le kernel. 

 

Processor type and features => /dev/cpu/*/msr - Model-specific register support

(CONFIG_X86_MSR)

----------

## Mickael

Merci Pierreg, je fais ça demain aux aurores!

Bonne nuit.

----------

## nemo13

 *MickTux wrote:*   

> Merci Pierreg, je fais ça demain aux aurores!
> 
> Bonne nuit.

 

désolé je n'avais pas capté.

alors avec un zgrep -i msr /proc/config.gz ....  :Mr. Green:   :Mr. Green: 

ok --------------------->  :Arrow: 

put...in qu'il fait beau dans l'autre monde.!!!

----------

## Mickael

T' as pris tes cachets avant de venir  :Laughing: 

Juste une petite remarque : avec genkernel ceci est mis en module par défaut, j'avais pas vu  :Wink: 

----------

## boozo

 :Laughing: 

de toutes... y'a ewarn dans l'output d'emerge   :Laughing: 

PS: j'ai trouvé un truc d'étrange avec ces options chez moi (çà affecte mon mode ondemand) je teste depuis hier, vous dis plus tard de quoi il retourne   :Confused: 

----------

## Mickael

 *kopp wrote:*   

> Oui, tu devrais en avoir deux, mais dans le noyau, c'est SMP et pas SMT
> 
> Vérifie du coup que c'est bien activé.
> 
> ```
> ...

 

Ahrf, je viens de compiler un noyo, est je t'assure que l'HT c'est SMT, qui n'est accessible certe que si SMP est validé.

----------

## kopp

ah, possible, ils ont rajouté l'option il y a peu il me semble  :Smile: 

Enfin, n'empêche, faut avoir le smp :p

nan je vais pas perdre la face non plus  :Smile: 

----------

## nemo13

 *Quote:*   

> >boozo
> 
> (çà affecte mon mode ondemand

 

hiers en lisant rapidement le man ,il y avait un truc qui semblait dire que acpi est liée à msr donc il est possible que ...

A+

----------

## boozo

bah nan c'est pas ça semble-t-il...

je check depuis qq heures mais le pb se situe, d'après ce que j'ai pu entrevoir, entre le >=kernel-2.6.15-r1 et le <=2.6.16-r7 ; pourtant je "make oldconfig" depuis et rien ne semble lié à çà   :Sad: 

Bref, j'ai perdu des modes de frequences disponible et la maximale à changée   :Shocked: 

 *Quote:*   

> kernel-2.6.15-r1:
> 
> cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
> 
> 349991 699982 1049973 1399965 1749956 2099947 2449938 279993
> ...

 

Vais pm guilc s'il a une idée   :Sad: 

----------

