Hi,
I am running a Xeon with hyperthreading support. Until last week's HTT
modifications, according to ps(1) and top(1) both logicals CPUs were in
use. (Processes in CPU0 and CPU1 state; "C" column showing
"0" or "1".)
This has changed with a recent -STABLE kernel which includes last week's
changes to HTT (removing "options HTT"). I am only seeing processes
on CPU0 and in "0" state in the "C" column. I am not sure
whether
the second logical CPU is indeed unused, but concluding from rough
performance indicators that might be the case: "make -j2 buildworld"
takes as long as "make -j1 buildworld".
According to dmesg, the second CPU is indeed launched (see below).
Note that this is virtually a GENERIC kernel. The only differences to
the shipping GENERIC are:
21,22c21,22
< cpu I386_CPU
< cpu I486_CPU
---> #cpu I386_CPU
> #cpu I486_CPU
64,65c64,65
< #options SMP # Symmetric MultiProcessor Kernel
< #options APIC_IO # Symmetric (APIC) I/O
---> options SMP # Symmetric MultiProcessor Kernel
> options APIC_IO # Symmetric (APIC) I/O
238a239> pseudo-device vlan 10 # VLAN support
What's wrong?
Helge
Copyright (c) 1992-2003 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD 4.9-STABLE #1637: Wed Oct 29 13:21:23 CET 2003
toor@localhost:/usr/obj/usr/src/sys/GENERIC
Timecounter "i8254" frequency 1193182 Hz
CPU: Intel(R) XEON(TM) CPU 1.80GHz (1794.19-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0xf24 Stepping = 4
Features=0x3febfbff<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>
Hyperthreading: 2 logical CPUs
real memory = 536805376 (524224K bytes)
avail memory = 516759552 (504648K bytes)
Changing APIC ID for IO APIC #0 from 0 to 2 on chip
Changing APIC ID for IO APIC #1 from 0 to 3 on chip
Changing APIC ID for IO APIC #2 from 0 to 4 on chip
Programming 16 pins in IOAPIC #0
IOAPIC #0 intpin 2 -> irq 0
Programming 16 pins in IOAPIC #1
Programming 16 pins in IOAPIC #2
FreeBSD/SMP: Multiprocessor motherboard: 2 CPUs
cpu0 (BSP): apic id: 0, version: 0x00050014, at 0xfee00000
cpu1 (AP): apic id: 1, version: 0x00050014, at 0xfee00000
io0 (APIC): apic id: 2, version: 0x000f0011, at 0xfec00000
io1 (APIC): apic id: 3, version: 0x000f0011, at 0xfec01000
io2 (APIC): apic id: 4, version: 0x000f0011, at 0xfec02000
Preloaded elf kernel "kernel" at 0xc0550000.
Warning: Pentium 4 CPU: PSE disabled
Pentium Pro MTRR support enabled
md0: Malloc disk
Using $PIR table, 9 entries at 0xc00fc490
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
IOAPIC #1 intpin 3 -> irq 2
IOAPIC #1 intpin 7 -> irq 7
IOAPIC #1 intpin 11 -> irq 10
pci0: <PCI bus> on pcib0
pci0: <unknown card> (vendor=0x1028, dev=0x000c) at 4.0 irq 2
pci0: <unknown card> (vendor=0x1028, dev=0x0008) at 4.1 irq 7
pci0: <unknown card> (vendor=0x1028, dev=0x000d) at 4.2 irq 10
pci0: <ATI Mach64-GR graphics accelerator> at 14.0
atapci0: <ServerWorks CSB5 ATA100 controller> port
0x8b0-0x8bf,0x8d8-0x8db,0x8d0-0x8d7,0x8c8-0x8cb,0x8c0-0x8c7 at device 15.1 on
pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
ohci0: <OHCI (generic) USB controller> mem 0xfe100000-0xfe100fff irq 5 at
device 15.2 on pci0
usb0: OHCI version 1.0, legacy support
usb0: SMM does not respond, resetting
usb0: <OHCI (generic) USB controller> on ohci0
usb0: USB revision 1.0
uhub0: (0x1166) OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 4 ports with 4 removable, self powered
isab0: <PCI to ISA bridge (vendor=1166 device=0225)> at device 15.3 on
pci0
isa0: <ISA bus> on isab0
pcib1: <Host to PCI bridge> on motherboard
pci1: <PCI bus> on pcib1
pcib2: <Host to PCI bridge> on motherboard
pci2: <PCI bus> on pcib2
pcib3: <Host to PCI bridge> on motherboard
IOAPIC #1 intpin 12 -> irq 11
IOAPIC #1 intpin 13 -> irq 13
pci3: <PCI bus> on pcib3
bge0: <Broadcom BCM5701 Gigabit Ethernet, ASIC rev. 0x105> mem
0xfcf10000-0xfcf1ffff irq 11 at device 6.0 on pci3
bge0: Ethernet address: 00:06:5b:8d:20:5e
miibus0: <MII bus> on bge0
brgphy0: <BCM5701 10/100/1000baseTX PHY> on miibus0
brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX,
1000baseTX-FDX, auto
bge1: <Broadcom BCM5701 Gigabit Ethernet, ASIC rev. 0x105> mem
0xfcf00000-0xfcf0ffff irq 13 at device 8.0 on pci3
bge1: Ethernet address: 00:06:5b:8d:20:5f
miibus1: <MII bus> on bge1
brgphy1: <BCM5701 10/100/1000baseTX PHY> on miibus1
brgphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX,
1000baseTX-FDX, auto
pcib4: <ServerWorks host to PCI bridge(unknown chipset)> on motherboard
IOAPIC #1 intpin 14 -> irq 16
pci4: <PCI bus> on pcib4
pcib8: <PCI to PCI bridge (vendor=8086 device=0309)> at device 8.0 on pci4
IOAPIC #1 intpin 15 -> irq 17
pci5: <PCI bus> on pcib8
pci5: <unknown card> (vendor=0x9005, dev=0x00c5) at 6.0 irq 16
pci5: <unknown card> (vendor=0x9005, dev=0x00c5) at 6.1 irq 17
aac0: <Dell PERC 3/Di> mem 0xf0000000-0xf7ffffff irq 16 at device 8.1 on
pci4
aac0: i960RX 100MHz, 118MB cache memory, optional battery present
aac0: Kernel 2.7-1, Build 3170, S/N bc10d3
aac0: Supported
Options=75c<WCACHE,DATA64,HOSTTIME,WINDOW4GB,SOFTERR,NORECOND,SGMAP64>
pcib5: <ServerWorks host to PCI bridge(unknown chipset)> on motherboard
pci6: <PCI bus> on pcib5
pcib6: <ServerWorks host to PCI bridge(unknown chipset)> on motherboard
pci7: <PCI bus> on pcib6
pcib7: <ServerWorks host to PCI bridge(unknown chipset)> on motherboard
pci8: <PCI bus> on pcib7
orm0: <Option ROMs> at iomem
0xc0000-0xc7fff,0xc8000-0xcbfff,0xec000-0xeffff on isa0
pmtimer0 on isa0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: failed to get data.
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model IntelliMouse Explorer, device ID 4
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: parallel port not found.
APIC_IO: Testing 8254 interrupt delivery
APIC_IO: Broken MP table detected: 8254 is not connected to IOAPIC #0 intpin 2
APIC_IO: routing 8254 via 8259 and IOAPIC #0 intpin 0
ata0-slave: ATAPI identify retries exceeded
SMP: AP CPU #1 Launched!
acd0: CDROM <TEAC CD-ROM CD-224E> at ata0-master PIO4
aacd0: <RAID 1 (Mirror)> on aac0
aacd0: 17355MB (35544576 sectors)
Mounting root from ufs:/dev/aacd0s2a
bge0: gigabit link up
bge1: gigabit link up