Hyperthreading issues.

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Hyperthreading issues.

kama-4

Hi,

Just upgraded from 5.4 to 6.0 and hyperthreading stoped working.
Everything looks ok, but it doesn't use two of the logical CPU's.

Is it only an error in showing the stats, or isn't it working on all 4
"cpus"?

One other thing is when I try to switch off hyperthreading in BIOS, it
will hang at bootup when it are settling the scsi drives. After awhile it
will give me scsi timeouts. This only happens when I have two cpu enabled
and hyperthreading off. If I disable one cpu w ht off it will boot wo
problems, or two cpus w ht. But booting with ht + two cpu's gives me the
other problem.

The ht off issue was already present in 5.x. at least since 5.2.1.

-----

using top I only see switching from CPU 0 and 1.

$ ps aux | grep cpu
root     11 92.4  0.0     0     8  ??  RL    7:11PM 103:25.06 [idle: cpu3]
root     12 92.4  0.0     0     8  ??  RL    7:11PM   0:00.00 [idle: cpu2]
root     14 31.1  0.0     0     8  ??  RL    7:11PM  45:18.68 [idle: cpu0]
root     13 27.3  0.0     0     8  ??  RL    7:11PM  48:58.93 [idle: cpu1]

$ sysctl -a | grep cpu
kern.threads.virtual_cpu: 4
kern.ccpu: 1948
kern.smp.maxcpus: 16
kern.smp.cpus: 4
debug.cpufreq.lowest: 0
debug.cpufreq.verbose: 0
debug.kdb.stop_cpus: 1
debug.PMAP1changedcpu: 4
hw.ncpu: 4
hw.acpi.cpu.cx_supported: C1/0
hw.acpi.cpu.cx_lowest: C1
hw.acpi.cpu.cx_usage: 100.00%
machdep.cpu_idle_hlt: 1
machdep.hlt_cpus: 0
machdep.hlt_logical_cpus: 0
machdep.logical_cpus_mask: 12
dev.cpu.0.%desc: ACPI CPU
dev.cpu.0.%driver: cpu
dev.cpu.0.%location: handle=\_PR_.CPU0
dev.cpu.0.%pnpinfo: _HID=none _UID=0
dev.cpu.0.%parent: acpi0
dev.cpu.1.%desc: ACPI CPU
dev.cpu.1.%driver: cpu
dev.cpu.1.%location: handle=\_PR_.CPU1
dev.cpu.1.%pnpinfo: _HID=none _UID=0
dev.cpu.1.%parent: acpi0
dev.cpu.2.%desc: ACPI CPU
dev.cpu.2.%driver: cpu
dev.cpu.2.%location: handle=\_PR_.CPU2
dev.cpu.2.%pnpinfo: _HID=none _UID=0
dev.cpu.2.%parent: acpi0
dev.cpu.3.%desc: ACPI CPU
dev.cpu.3.%driver: cpu
dev.cpu.3.%location: handle=\_PR_.CPU3
dev.cpu.3.%pnpinfo: _HID=none _UID=0
dev.cpu.3.%parent: acpi0

$ sysctl -a | grep hyper
machdep.hyperthreading_allowed: 1

----

With ht off on dual cpu it ends with (scribled by hand)

SCB 1 - timed out
Other SCB Time out
No other SBC worth waiting for...
ahd0: Issued Channel A Bus Reset 13 SCB aborted

----

dmesg.boot:
Copyright (c) 1992-2005 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 6.0-STABLE #0: Fri Nov 11 17:31:05 CET 2005
    [hidden email]:/usr/obj/usr/src/sys/games3
ACPI APIC Table: <PTLTD          APIC  >
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Xeon(TM) CPU 2.40GHz (2400.11-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0xf29  Stepping = 9

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>
  Features2=0x4400<CNTX-ID,<b14>>
  Hyperthreading: 2 logical CPUs
real memory  = 1073741824 (1024 MB)
avail memory = 1043279872 (994 MB)
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
 cpu0 (BSP): APIC ID:  6
 cpu1 (AP): APIC ID:  0
 cpu2 (AP): APIC ID:  1
 cpu3 (AP): APIC ID:  7
ioapic0 <Version 1.1> irqs 0-15 on motherboard
ioapic1 <Version 1.1> irqs 16-31 on motherboard
npx0: [FAST]
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <PTLTD   RSDT> on motherboard
acpi0: Power Button (fixed)
pci_link0: <ACPI PCI Link LNKA> on acpi0
pci_link1: <ACPI PCI Link LNKB> on acpi0
pci_link2: <ACPI PCI Link LNKC> irq 9 on acpi0
pci_link3: <ACPI PCI Link LNKD> irq 11 on acpi0
pci_link4: <ACPI PCI Link LNKE> on acpi0
pci_link5: <ACPI PCI Link LNKF> on acpi0
pci_link6: <ACPI PCI Link LNKG> on acpi0
pci_link7: <ACPI PCI Link LNKH> on acpi0
pci_link8: <ACPI PCI Link LNKI> on acpi0
pci_link9: <ACPI PCI Link LNKJ> on acpi0
pci_link10: <ACPI PCI Link LNKK> irq 10 on acpi0
pci_link11: <ACPI PCI Link LNKL> on acpi0
pci_link12: <ACPI PCI Link LNKM> on acpi0
pci_link13: <ACPI PCI Link LNKN> on acpi0
pci_link14: <ACPI PCI Link LNKO> on acpi0
pci_link15: <ACPI PCI Link LNKP> on acpi0
pci_link16: <ACPI PCI Link LNKU> on acpi0
Timecounter "ACPI-safe" frequency 3579545 Hz quality 1000
acpi_timer0: <32-bit timer at 3.579545MHz> port 0xf008-0xf00b on acpi0
cpu0: <ACPI CPU> on acpi0
cpu1: <ACPI CPU> on acpi0
cpu2: <ACPI CPU> on acpi0
cpu3: <ACPI CPU> on acpi0
acpi_button0: <Power Button> on acpi0
pcib0: <ACPI Host-PCI bridge> on acpi0
pci0: <ACPI PCI bus> on pcib0
pci0: <display, VGA> at device 4.0 (no driver attached)
atapci0: <ServerWorks CSB6 UDMA100 controller> port
0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x1400-0x140f at device 15.1 on pci0
ata0: <ATA channel 0> on atapci0
ata1: <ATA channel 1> on atapci0
isab0: <PCI-ISA bridge> at device 15.3 on pci0
isa0: <ISA bus> on isab0
pcib1: <ACPI Host-PCI bridge> on acpi0
pci1: <ACPI PCI bus> on pcib1
pcib2: <ACPI Host-PCI bridge> on acpi0
pci2: <ACPI PCI bus> on pcib2
bge0: <Broadcom BCM5704C Dual Gigabit Ethernet, ASIC rev. 0x2002> mem
0xfc310000-0xfc31ffff,0xfc300000-0xfc30ffff irq 18 at device 0.0 on pci2
miibus0: <MII bus> on bge0
brgphy0: <BCM5704 10/100/1000baseTX PHY> on miibus0
brgphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX,
1000baseTX-FDX, auto
bge0: Ethernet address: 00:30:05:46:02:6d
bge1: <Broadcom BCM5704C Dual Gigabit Ethernet, ASIC rev. 0x2002> mem
0xfc330000-0xfc33ffff,0xfc320000-0xfc32ffff irq 19 at device 0.1 on pci2
miibus1: <MII bus> on bge1
brgphy1: <BCM5704 10/100/1000baseTX PHY> on miibus1
brgphy1:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX,
1000baseTX-FDX, auto
bge1: Ethernet address: 00:30:05:46:02:6e
pcib3: <ACPI Host-PCI bridge> on acpi0
pci3: <ACPI PCI bus> on pcib3
ahd0: <Adaptec AIC7902 Ultra320 SCSI adapter> port
0x1c00-0x1cff,0x1800-0x18ff mem 0xfc700000-0xfc701fff irq 26 at device 4.0
on pci3
ahd0: [GIANT-LOCKED]
aic7902: Ultra320 Wide Channel A, SCSI Id=7, PCI-X 101-133Mhz, 512 SCBs
pcib4: <ACPI Host-PCI bridge> on acpi0
pci4: <ACPI PCI bus> on pcib4
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
fdc0: <floppy drive controller> port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on
acpi0
fdc0: [FAST]
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
pmtimer0 on isa0
orm0: <ISA Option ROM> at iomem 0xc0000-0xc8fff on isa0
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 1.250 msec
Waiting 5 seconds for SCSI devices to settle
acd0: CDROM <SR244W/T01A> at ata1-master UDMA33
ses0 at ahd0 bus 0 target 8 lun 0
ses0: <SDR GEM318 0> Fixed Processor SCSI-2 device
ses0: 3.300MB/s transfers
ses0: SAF-TE Compliant Device
SMP: AP CPU #2 Launched!
SMP: AP CPU #3 Launched!
SMP: AP CPU #1 Launched!
da0 at ahd0 bus 0 target 0 lun 0
da0: <FUJITSU MAP3367NC 5207> Fixed Direct Access SCSI-3 device
da0: 320.000MB/s transfers (160.000MHz, offset 127, 16bit), Tagged
Queueing Enabled
da0: 35046MB (71775284 512 byte sectors: 255H 63S/T 4467C)
Trying to mount root from ufs:/dev/da0s1a

_______________________________________________
[hidden email] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: Hyperthreading issues.

Doug White-2
On Fri, 11 Nov 2005, kama wrote:

> Just upgraded from 5.4 to 6.0 and hyperthreading stoped working.
> Everything looks ok, but it doesn't use two of the logical CPU's.

This is disabled by default due to a information-leak vulnerability across
the hyperthreaded cores. The details from the release notes:

Because of an information disclosure vulnerability on processors using
Hyper-Threading Technology (HTT), the machdep.hyperthreading_allowed
sysctl variable has been added. It defaults to 1 (HTT enabled) on FreeBSD
CURRENT, and 0 (HTT disabled) on the 4-STABLE and 5-STABLE development
branches and supported security fix branches. More information can be
found in security advisory FreeBSD-SA-05:09.htt. [MERGED]

If you don't care about this, add

machdep.hyperthreading_allowed="1"

to /boot/loader.conf and reboot.

> One other thing is when I try to switch off hyperthreading in BIOS, it
> will hang at bootup when it are settling the scsi drives. After awhile it
> will give me scsi timeouts. This only happens when I have two cpu enabled
> and hyperthreading off. If I disable one cpu w ht off it will boot wo
> problems, or two cpus w ht. But booting with ht + two cpu's gives me the
> other problem.

Sounds like the BIOS is not rerouting the interrupts correctly. Check for
a BIOS update.

--
Doug White                    |  FreeBSD: The Power to Serve
[hidden email]          |  www.FreeBSD.org
_______________________________________________
[hidden email] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: Hyperthreading issues.

kama-4

On Sun, 13 Nov 2005, Doug White wrote:

> On Fri, 11 Nov 2005, kama wrote:
>
> > Just upgraded from 5.4 to 6.0 and hyperthreading stoped working.
> > Everything looks ok, but it doesn't use two of the logical CPU's.
>
> This is disabled by default due to a information-leak vulnerability across
> the hyperthreaded cores. The details from the release notes:
>
> Because of an information disclosure vulnerability on processors using
> Hyper-Threading Technology (HTT), the machdep.hyperthreading_allowed
> sysctl variable has been added. It defaults to 1 (HTT enabled) on FreeBSD
> CURRENT, and 0 (HTT disabled) on the 4-STABLE and 5-STABLE development
> branches and supported security fix branches. More information can be
> found in security advisory FreeBSD-SA-05:09.htt. [MERGED]
>
> If you don't care about this, add
>
> machdep.hyperthreading_allowed="1"
>
> to /boot/loader.conf and reboot.

If you had read the mail you'll see further down that its indeed set.

After a while it seems to use cpu2&3 but more rarely than 1&0, maybe its
ULE that makes it work that way.

>
> > One other thing is when I try to switch off hyperthreading in BIOS, it
> > will hang at bootup when it are settling the scsi drives. After awhile it
> > will give me scsi timeouts. This only happens when I have two cpu enabled
> > and hyperthreading off. If I disable one cpu w ht off it will boot wo
> > problems, or two cpus w ht. But booting with ht + two cpu's gives me the
> > other problem.
>
> Sounds like the BIOS is not rerouting the interrupts correctly. Check for
> a BIOS update.
>

I'll see if there is a new BIOS update.

/Bjorn
_______________________________________________
[hidden email] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[hidden email]"