# Quelques problème pour la mise en place de l'Hyper-Threading

## BeTa

Salut le forum ! :c)

J'ai installé un système GNU/Linux (accessoirement, mais obligatoirement, Gentoo Linux) sur un Pentium4 3.06 supportant l'HyperThreading. Tout s'est bien passé (normal quelque part), jusqu'à ce que j'arrive sur le problème de l'HyperThreading...

Comme je l'imaginais de prime abord, j'ai juste activé les options SMP dans le kernel. Rien à faire, un cat /proc/cpuinfo ne me donnait jamais que un seul CPU. Ensuite, j'ai lu qu'il fallait avoir aussi des modules ACPI en builtin et qu'il fallait ajouter acpismp=force aux options du noyau. J'ai donc mis le minimum pour l'ACPI et ai ajouté ca à mon grub.conf.

A ce niveau, l'hyper-threading fonctionnait mais la carte réseau était moins contente :

```
(...)

May 29 04:51:02 [kernel] NETDEV WATCHDOG: eth0: transmit timed out

May 29 04:51:10 [kernel] NETDEV WATCHDOG: eth0: transmit timed out

May 29 04:51:18 [kernel] NETDEV WATCHDOG: eth0: transmit timed out

May 29 04:51:26 [kernel] NETDEV WATCHDOG: eth0: transmit timed out

May 29 04:51:34 [kernel] NETDEV WATCHDOG: eth0: transmit timed out

May 29 04:51:42 [kernel] NETDEV WATCHDOG: eth0: transmit timed out

May 29 04:51:50 [kernel] NETDEV WATCHDOG: eth0: transmit timed out

(...)
```

J'ai donc encore restreint le mode ACPI avec l'option :

```
[*] CPU Enumeration Only (NEW)

```

Ici, la carte réseau fonctionne, mais pour ce qui est du SMT (hyper-threading), rien !

La carte mère est une SiS qui intègre (malheureusement) un certain nombre de choses. Je vous donne de quoi en savoir plus...

voici la sortie de dmesg :

```
Linux version 2.4.20-gentoo-r5 (root@srv-gmal) (gcc version 3.2.2) #9 SMP Sun Jun 1 17:57:28 CEST 2003

BIOS-provided physical RAM map:

 BIOS-e820: 0000000000000000 - 000000000009f800 (usable)

 BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)

 BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)

 BIOS-e820: 0000000000100000 - 000000003dffc000 (usable)

 BIOS-e820: 000000003dffc000 - 000000003dfff000 (ACPI data)

 BIOS-e820: 000000003dfff000 - 000000003e000000 (ACPI NVS)

 BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved)

 BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)

 BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)

Warning only 896MB will be used.

Use a HIGHMEM enabled kernel.

896MB LOWMEM available.

On node 0 totalpages: 229376

zone(0): 4096 pages.

zone(1): 225280 pages.

zone(2): 0 pages.

ACPI: RSDP (v000 ASUS                       ) @ 0x000f5710

ACPI: RSDT (v001 ASUS   P4S533MX 16944.11825) @ 0x3dffc000

ACPI: FADT (v001 ASUS   P4S533MX 16944.11825) @ 0x3dffc0c0

ACPI: BOOT (v001 ASUS   P4S533MX 16944.11825) @ 0x3dffc030

ACPI: MADT (v001 ASUS   P4S533MX 16944.11825) @ 0x3dffc058

ACPI: DSDT (v001   ASUS P4S533MX 00000.04096) @ 0x00000000

ACPI: BIOS passes blacklist

ACPI: Local APIC address 0xfee00000

ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)

Processor #0 Pentium 4(tm) XEON(tm) APIC version 16

ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)

Processor #1 Pentium 4(tm) XEON(tm) APIC version 16

Kernel command line: root=/dev/sda3 acpismp=force

Found and enabled local APIC!

Initializing CPU#0

Detected 3059.241 MHz processor.

Console: colour VGA+ 80x25

Calibrating delay loop... 6094.84 BogoMIPS

Memory: 900096k/917504k available (1772k kernel code, 14844k reserved, -2480k data, 292k init, 0k highmem)

Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes)

Inode cache hash table entries: 65536 (order: 7, 524288 bytes)

Mount-cache hash table entries: 16384 (order: 5, 131072 bytes)

Buffer-cache hash table entries: 65536 (order: 6, 262144 bytes)

Page-cache hash table entries: 262144 (order: 8, 1048576 bytes)

CPU: L1 I cache: 0K, L1 D cache: 8K

CPU: L2 cache: 512K

CPU: Physical Processor ID: 0

Intel machine check architecture supported.

Intel machine check reporting enabled on CPU#0.

CPU:     After generic, caps: bfebfbff 00000000 00000000 00000000

CPU:             Common caps: bfebfbff 00000000 00000000 00000000

Enabling fast FPU save and restore... done.

Enabling unmasked SIMD FPU exception support... done.

Checking 'hlt' instruction... OK.

POSIX conformance testing by UNIFIX

mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au)

mtrr: detected mtrr type: Intel

CPU: L1 I cache: 0K, L1 D cache: 8K

CPU: L2 cache: 512K

CPU: Physical Processor ID: 0

Intel machine check reporting enabled on CPU#0.

CPU:     After generic, caps: bfebfbff 00000000 00000000 00000000

CPU:             Common caps: bfebfbff 00000000 00000000 00000000

CPU0: Intel(R) Pentium(R) 4 CPU 3.06GHz stepping 07

per-CPU timeslice cutoff: 1462.70 usecs.

task migration cache decay timeout: 5 msecs.

SMP motherboard not detected.

enabled ExtINT on CPU#0

ESR value before enabling vector: 00000000

ESR value after enabling vector: 00000000

Using local APIC timer interrupts.

calibrating APIC timer ...

..... CPU clock speed is 3059.1286 MHz.

..... host bus clock speed is 133.0056 MHz.

cpu: 0, clocks: 665056, slice: 332528

CPU0<T0:665056,T1:332528,D:0,S:332528,C:665056>

migration_task 0 on cpu=0

PCI: PCI BIOS revision 2.10 entry at 0xf1050, last bus=1

PCI: Using configuration type 1

PCI: Probing PCI hardware

PCI: Probing PCI hardware (bus 00)

PCI: Using IRQ router default [1039/0962] at 00:02.0

Linux NET4.0 for Linux 2.4

Based upon Swansea University Computer Society NET3.039

Initializing RT netlink socket

Starting kswapd

Journalled Block Device driver loaded

devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)

devfs: boot_options: 0x1

Installing knfsd (copyright (C) 1996 okir@monad.swb.de).

pty: 256 Unix98 ptys configured

Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled

ttyS00 at 0x03f8 (irq = 4) is a 16550A

Uniform Multi-Platform E-IDE driver Revision: 6.31

ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx

SIS5513: IDE controller on PCI bus 00 dev 15

SIS5513: chipset revision 0

SIS5513: not 100% native mode: will probe irqs later

SiS5513

    ide0: BM-DMA at 0xa400-0xa407, BIOS settings: hda:pio, hdb:pio

    ide1: BM-DMA at 0xa408-0xa40f, BIOS settings: hdc:pio, hdd:pio

floppy0: no floppy controllers found

loop: loaded (max 8 devices)

sis900.c: v1.08.06 9/24/2002

eth0: Realtek RTL8201 PHY transceiver found at address 1.

eth0: Using transceiver found at address 1 as default

eth0: SiS 900 PCI Fast Ethernet at 0x8800, IRQ 10, 00:0c:6e:0e:7e:a8.

SCSI subsystem driver Revision: 1.00

scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.33

        <Adaptec 29160B Ultra160 SCSI adapter>

        aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs

(scsi0:A:6): 160.000MB/s transfers (80.000MHz DT, offset 63, 16bit)

  Vendor: IBM       Model: IC35L018UWD210-0  Rev: S5CS

  Type:   Direct-Access                      ANSI SCSI revision: 03

scsi0:A:6:0: Tagged Queuing enabled.  Depth 32

Attached scsi disk sda at scsi0, channel 0, id 6, lun 0

SCSI device sda: 35843670 512-byte hdwr sectors (18352 MB)

Partition check:

 /dev/scsi/host0/bus0/target6/lun0: p1 p2 p3 p4 < p5 p6 p7 >

NET4: Linux TCP/IP 1.0 for NET4.0

IP Protocols: ICMP, UDP, TCP, IGMP

IP: routing cache hash table of 8192 buckets, 64Kbytes

TCP: Hash tables configured (established 262144 bind 65536)

ip_tables: (C) 2000-2002 Netfilter core team

ipt_recent v0.3.1: Stephen Frost <sfrost@snowman.net>.  http://snowman.net/projects/ipt_recent/

ipt_random match loaded

netfilter PSD loaded - (c) astaro AG

ipt_nth match loaded

arp_tables: (C) 2002 David S. Miller

NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.

kjournald starting.  Commit interval 5 seconds

EXT3-fs: mounted filesystem with ordered data mode.

VFS: Mounted root (ext3 filesystem) readonly.

Mounted devfs on /dev

Freeing unused kernel memory: 292k freed

Unable to find swap-space signature

EXT3 FS 2.4-0.9.19, 19 August 2002 on sd(8,3), internal journal

kjournald starting.  Commit interval 5 seconds

EXT3 FS 2.4-0.9.19, 19 August 2002 on sd(8,5), internal journal

EXT3-fs: mounted filesystem with ordered data mode.

kjournald starting.  Commit interval 5 seconds

EXT3 FS 2.4-0.9.19, 19 August 2002 on sd(8,6), internal journal

EXT3-fs: mounted filesystem with ordered data mode.

kjournald starting.  Commit interval 5 seconds

EXT3 FS 2.4-0.9.19, 19 August 2002 on sd(8,7), internal journal

EXT3-fs: mounted filesystem with ordered data mode.

Unable to find swap-space signature

eth0: Media Link On 10mbps half-duplex

```

voici la sortie de cat /proc/cpuinfo :

```
processor       : 0

vendor_id       : GenuineIntel

cpu family      : 15

model           : 2

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

stepping        : 7

cpu MHz         : 3059.241

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

bogomips        : 6094.84

```

voici la sortie de lspci :

```
00:00.0 Host bridge: Silicon Integrated Systems [SiS] SiS651 Host (rev 02)

00:01.0 PCI bridge: Silicon Integrated Systems [SiS] SiS 530 Virtual PCI-to-PCI bridge (AGP)

00:02.0 ISA bridge: Silicon Integrated Systems [SiS] SiS962 [MuTIOL Media IO] (rev 25)

00:02.5 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE]

00:03.0 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 0f)

00:03.1 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 0f)

00:03.3 USB Controller: Silicon Integrated Systems [SiS] USB 2.0 Controller

00:04.0 Ethernet controller: Silicon Integrated Systems [SiS] SiS900 10/100 Ethernet (rev 91)

00:10.0 SCSI storage controller: Adaptec AIC-7892A U160/m (rev 02)

01:00.0 VGA compatible controller: Silicon Integrated Systems [SiS] SiS650/651/M650/740 PCI/AGP VGA Display Adapter

```

----------

## BeTa

Personne n'a de P4 HT à la limite ? au moins pour me dire déjà comment il s'y ai pris, histoire de voir si je me suis pas vautré qqpart ... :c/

----------

## cylgalad

Je n'ai pas de p4ht (trop cher) mais à vue de nez, il m'a l'air actif vu qu'il y a "ht" dans les flags de cpuinfo, de toute façon ça n'apporte pas grand chose pour l'instant (quoique sous Linux  :Wink:  ...)

----------

## BeTa

Ca apporte environ 30% de gain en perfs il parait... c pas négligeable  :Smile: 

Sinon, le flag ht ne suffit pas pour dire qu'on a de l'HT... ca veut juste dire qu'il le supporte. Normalement un cat /proc/cpuinfo avec une utilisation de l'HT aurait donné 2 processeurs normalement.

----------

## Dom

J'ai peut-être pas très bien compris, mais apparemment ça ne fonctionne que si tu rajoutes "acpismp=force" au démarrage, non ? Mais dans ce cas, il n'y a que la carte réseau qui ne fonctionne plus ou il y a d'autres problèmes ? C'est une carte réseau intégrée à la carte mère ?

----------

## BeTa

[quote="Dom"]J'ai peut-être pas très bien compris, mais apparemment ça ne fonctionne que si tu rajoutes "acpismp=force" au démarrage, non ?

beh... c ce que j'ai lu sur le net oui... :c/ Mais je ne suis sur de rien maintenant ;c)

 *Dom wrote:*   

> Mais dans ce cas, il n'y a que la carte réseau qui ne fonctionne plus ou il y a d'autres problèmes ?

 

C'est le seul pb que j'ai reporté.

 *Dom wrote:*   

> C'est une carte réseau intégrée à la carte mère ?

 

oui ... et qd tu en mets une externe, ca trippe grave. Un coup c'est l'une qui est en eth0, un coup c'est l'autre (et dans les deux cas, il n'y a jamais de eth1). Je n'ai pas acces au bios (la machine est à perpet) et le mec qui me fait ca est pas un grand copain du bios apparemment. :c(

----------

## Dom

C'est dommage que tu n'ais pas accès à la machine, parce que peut-être qu'en désactivant la carte réseau intégrée ça aurait fonctionné...

En tout cas d'après ce que j'ai pu lire la solution c'est bien de rajouter "acpismp=force" au boot.

----------

## RekCaH

 *BeTa wrote:*   

> Je n'ai pas acces au bios (la machine est à perpet) et le mec qui me fait ca est pas un grand copain du bios apparemment. :c(

 

a bon je suis pas copain du bios ? non c'est clair je trifouille pas dans le bios 24/24 mais je connai et kan je la deactive c'est un kernel panic de ton install qui ce produit   :Wink: 

----------

## BeTa

 *RekCaH wrote:*   

> ah bon je suis pas copain du bios ? non c'est clair je trifouille pas dans le bios 24/24 mais je connai et kan je la deactive c'est un kernel panic de ton install qui ce produit  

 

Lol... ben je sais pas, c ce que j'avais cru comprendre de ce que tu m'avais dit (difficultés à désactiver la carte rezo). Cela dit, je corrige, depuis, j'ai eu l'exemple du contraire ;c)

----------

