Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

HTT et FreeBSD 5.4

4 réponses
Avatar
Paul Gaborit
Je viens de basculer une machine bi-pro Xeon de 5.3 en 5.4 après avoir mis à
jour mes sources en RELENG_5.

La mise à jour s'est bien déroulée. Mais une chose m'étonne : l'hyperthreading
semble encore actif ! Or, d'après la mise à jour de sécurité
FreeBSD-SA-05:09.htt, pour que ce soit le cas, il faudrait ajouter
machdep.hyperthreading_allowed à 1.

Or :

% sysctl machdep.hyperthreading_allowed
machdep.hyperthreading_allowed: 0

Et voici le résultat de dmesg :

------------------------------------------------------------
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Xeon(TM) CPU 2.80GHz (2793.01-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0xf41 Stepping = 1
Features=0xbfebfbff<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,HTT,TM,PBE>
Hyperthreading: 2 logical CPUs
real memory = 2147340288 (2047 MB)
avail memory = 2095853568 (1998 MB)
ACPI APIC Table: <A M I OEMAPIC >
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
cpu0 (BSP): APIC ID: 0
cpu1 (AP): APIC ID: 1
cpu2 (AP): APIC ID: 6
cpu3 (AP): APIC ID: 7
ioapic0 <Version 2.0> irqs 0-23 on motherboard
ioapic1 <Version 2.0> irqs 24-47 on motherboard
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <A M I OEMRSDT> on motherboard
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
cpu0: <ACPI CPU> on acpi0
acpi_throttle0: <ACPI CPU Throttling> on cpu0
cpu1: <ACPI CPU> on acpi0
cpu2: <ACPI CPU> on acpi0
cpu3: <ACPI CPU> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pci0: <unknown> at device 0.1 (no driver attached)
pcib1: <ACPI PCI-PCI bridge> irq 16 at device 2.0 on pci0
pci1: <ACPI PCI bus> on pcib1
pcib2: <ACPI PCI-PCI bridge> irq 16 at device 3.0 on pci0
pci2: <ACPI PCI bus> on pcib2
pcib3: <ACPI PCI-PCI bridge> at device 28.0 on pci0
pci3: <ACPI PCI bus> on pcib3
amr0: <LSILogic MegaRAID 1.51> mem 0xddff0000-0xddffffff irq 24 at device 2.0 on pci3
amr0: <LSILogic MegaRAID SCSI 320-1> Firmware 1N27, BIOS G112, 64MB RAM
uhci0: <UHCI (generic) USB controller> port 0xd880-0xd89f irq 16 at device 29.0 on pci0
usb0: <UHCI (generic) USB controller> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1: <UHCI (generic) USB controller> port 0xdc00-0xdc1f irq 19 at device 29.1 on pci0
usb1: <UHCI (generic) USB controller> on uhci1
usb1: USB revision 1.0
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
pci0: <base peripheral> at device 29.4 (no driver attached)
pci0: <base peripheral, interrupt controller> at device 29.5 (no driver attached)
pci0: <serial bus, USB> at device 29.7 (no driver attached)
pcib4: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci4: <ACPI PCI bus> on pcib4
pci4: <display, VGA> at device 2.0 (no driver attached)
em0: <Intel(R) PRO/1000 Network Connection, Version - 1.7.35> port 0xec00-0xec3f mem 0xdefa0000-0xdefbffff irq 16 at device 3.0 on pci4
em0: Ethernet address: 00:0e:0c:3d:fd:48
em0: Speed:N/A Duplex:N/A
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel 6300ESB SATA150 controller> port 0xfc00-0xfc0f,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 31.2 on pci0
ata0: channel #0 on atapci0
ata1: channel #1 on atapci0
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
acpi_button0: <Power Button> on acpi0
atkbdc0: <Keyboard controller (i8042)> port 0x64,0x60 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A
sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A
fdc0: <floppy drive controller (FDE)> port 0x3f7,0x3f0-0x3f5 irq 6 drq 2 on acpi0
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
orm0: <ISA Option ROMs> at iomem 0xca800-0xcb7ff,0xc8000-0xc8fff,0xc0000-0xc7fff on isa0
pmtimer0 on isa0
ppc0: parallel port not found.
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounters tick every 10.000 msec
acd0: CDROM <GCR-8483B/1.02> at ata0-master PIO4
amrd0: <LSILogic MegaRAID logical drive> on amr0
amrd0: 34731MB (71129088 sectors) RAID 0 (optimal)
amrd1: <LSILogic MegaRAID logical drive> on amr0
amrd1: 34731MB (71129088 sectors) RAID 0 (optimal)
SMP: AP CPU #3 Launched!
SMP: AP CPU #1 Launched!
SMP: AP CPU #2 Launched!
------------------------------------------------------------

Il y a bien 4 CPU détectées !

Comment est-ce possible ? Quelle bêtise ai-je pu faire ? Ou alors, je n'ai
rien compris au problème...

Merci.

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>

4 réponses

Avatar
Paul Gaborit
À (at) Wed, 22 Jun 2005 12:14:11 +0200, Thierry Herbelot
<------%------thierry------% écrivait (wrote):
il manque une information *cruciale* : la version de FreeBSD "5.4-Rel,
-Stable, patch-level ? -> uname -r


C'est une version 5.4-STABLE (dont les sources ont été mis à jour hier via
cvsup en utilisant le tag RELENG_5).

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>

Avatar
Nicolas Le Scouarnec
cpu0 (BSP): APIC ID: 0
cpu1 (AP): APIC ID: 1
cpu2 (AP): APIC ID: 6
cpu3 (AP): APIC ID: 7

Comment est-ce possible ? Quelle bêtise ai-je pu faire ? Ou alors, je n'ai
rien compris au problème...


J'ai l'impression qu'ils sont bien detecté mais que les deux
processeurs logiques ne sont alors jamais utilisé. Si tu regardes un
peu ce qui se passe avec top, les deux processeurs qui vont tourner
seront CPU0 et CPU2.

--
Nicolas Le Scouarnec

Avatar
Paul Gaborit
À (at) Wed, 22 Jun 2005 23:20:25 +0000 (UTC),
Nicolas Le Scouarnec nospam. invalid> écrivait (wrote):
cpu0 (BSP): APIC ID: 0
cpu1 (AP): APIC ID: 1
cpu2 (AP): APIC ID: 6
cpu3 (AP): APIC ID: 7

Comment est-ce possible ? Quelle bêtise ai-je pu faire ? Ou alors, je n'ai
rien compris au problème...


J'ai l'impression qu'ils sont bien detecté mais que les deux
processeurs logiques ne sont alors jamais utilisé. Si tu regardes un
peu ce qui se passe avec top, les deux processeurs qui vont tourner
seront CPU0 et CPU2.


Tout à fait exact... même si ce n'est pas une "preuve" puisque on n'a pas la
garantie que 'top' voit bien tous les processus. Mais cela me suffit ;-)

Merci.

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>


Avatar
Nicolas Le Scouarnec
processeurs logiques ne sont alors jamais utilisé. Si tu regardes un
peu ce qui se passe avec top, les deux processeurs qui vont tourner
seront CPU0 et CPU2.
Tout à fait exact... même si ce n'est pas une "preuve" puisque on n'a pas la

garantie que 'top' voit bien tous les processus. Mais cela me suffit ;-)


Ce qui me conforte dans mon idée, c'est que la variable sysctl
use_logical_cpu peut etre changée a chaud (après le boot), il faut donc
que tout ait bien été detecté.


--
Nicolas Le Scouarnec