On Tue, Jan 06, 2026 at 02:44:18AM +0000, H. Hartzer wrote:
> Hi bugs@,
>
> 7.8 amd64 incorrectly identifies a Opteron 4256EE as threaded. Thinking
> it has 4 cores with 8 threads total. This processor should have 8
> native cores. Thus, 4 cores are disabled unless sysctl hw.smt=1.
>
> Interestingly, 7.8 correctly identifies the 4162 EE as having 6 native
> cores.
>
> Thank you!
>
> -Henrich
>

According to a quick google search, these CPUs expose their topology (right or
wrong) as SMT based on AMD's "CMT" (See cut-paste below).

We use the CPU's own reported topology as reported by CPUID when making the
decision if something is SMT or not.

HTH.

-ml


------

The appearance of SMT (Simultaneous Multithreading) in the CPUID topology for
an AMD Opteron 4256 EE is a result of the Bulldozer architecture (Valencia)
design and how operating systems interpret its CMT (Clustered Multi-Thread)
structure.

Why SMT is Reported:

Module-Based Architecture: The Opteron 4256 EE is built on 4 Bulldozer modules,
each containing two integer cores that share certain components, such as the
L2 cache and FPU.

CPUID Interpretation: To ensure compatibility with Windows and Linux schedulers,
AMD processors of this era often export a topology that mimics SMT. The OS sees
two "logical cores" per module; because they share resources, the system reports
this relationship as a thread-level (SMT) grouping rather than independent
physical cores.

> dmesg:
>
> OpenBSD 7.8 (GENERIC.MP) #1: Sat Nov 29 11:02:59 MST 2025
>     
> [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> real mem = 34324676608 (32734MB)
> avail mem = 33257316352 (31716MB)
> random: good seed from bootblocks
> mpath0 at root
> scsibus0 at mpath0: 256 targets
> mainbus0 at root
> bios0 at mainbus0: SMBIOS rev. 2.6 @ 0x9ac00 (30 entries)
> bios0: vendor American Megatrends Inc. version "3.5" date 01/12/2015
> bios0: Supermicro H8SCM
> acpi0 at bios0: ACPI 3.0
> acpi0: sleep states S0 S1 S4 S5
> acpi0: tables DSDT FACP APIC MCFG OEMB HPET SRAT SSDT EINJ BERT ERST HEST
> acpi0: wakeup devices PC02(S4) PC03(S4) PC04(S4) PC05(S4) PC06(S4) PC07(S4) 
> PC09(S4) PC0A(S4) PC0B(S4) PC0C(S4) SBAZ(S4) P0PC(S4) UHC1(S4) UHC2(S4) 
> UHC3(S4) USB4(S4) [...]
> acpitimer0 at acpi0: 3579545 Hz, 24 bits
> acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
> cpu0 at mainbus0: apid 16 (boot processor)
> cpu0: AMD Opteron(tm) Processor 4256 EE, 1600.68 MHz, 15-01-02, patch 0600063e
> cpu0: cpuid 1 
> edx=178bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT>
>  ecx=1698220b<SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,POPCNT,AES,XSAVE,AVX>
> cpu0: cpuid 6 eax=4<ARAT> ecx=1<EFFFREQ>
> cpu0: cpuid 80000001 edx=2fd3fbff<NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG> 
> ecx=1c93fff<LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,XOP,SKINIT,FMA4,NODEID,TOPEXT,CPCTR>
> cpu0: cpuid 80000007 edx=3d9<HWPSTATE,ITSC>
> cpu0: cpuid 80000008 ebx=1000<IBPB>
> cpu0: 16KB 64b/line 4-way D-cache, 64KB 64b/line 2-way I-cache, 2MB 64b/line 
> 16-way L2 cache, 8MB 64b/line 64-way L3 cache
> cpu0: smt 0, core 0, package 0
> mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
> cpu0: apic clock running at 200MHz
> cpu0: mwait min=64, max=64, IBE
> cpu1 at mainbus0: apid 17 (application processor)
> cpu1: AMD Opteron(tm) Processor 4256 EE, 1600.77 MHz, 15-01-02, patch 0600063e
> cpu1: cpuid 80000001 ecx=+8000<WDT>
> cpu1: smt 1, core 0, package 0
> cpu2 at mainbus0: apid 18 (application processor)
> cpu2: AMD Opteron(tm) Processor 4256 EE, 1600.77 MHz, 15-01-02, patch 0600063e
> cpu2: cpuid 80000001 ecx=-8000<WDT>
> cpu2: smt 0, core 1, package 0
> cpu3 at mainbus0: apid 19 (application processor)
> cpu3: AMD Opteron(tm) Processor 4256 EE, 1600.93 MHz, 15-01-02, patch 0600063e
> cpu3: cpuid 80000001 ecx=+8000<WDT>
> cpu3: smt 1, core 1, package 0
> cpu4 at mainbus0: apid 20 (application processor)
> cpu4: AMD Opteron(tm) Processor 4256 EE, 1600.83 MHz, 15-01-02, patch 0600063e
> cpu4: cpuid 80000001 ecx=-8000<WDT>
> cpu4: smt 0, core 2, package 0
> cpu5 at mainbus0: apid 21 (application processor)
> cpu5: AMD Opteron(tm) Processor 4256 EE, 1601.26 MHz, 15-01-02, patch 0600063e
> cpu5: cpuid 80000001 ecx=+8000<WDT>
> cpu5: smt 1, core 2, package 0
> cpu6 at mainbus0: apid 22 (application processor)
> cpu6: AMD Opteron(tm) Processor 4256 EE, 1600.90 MHz, 15-01-02, patch 0600063e
> cpu6: cpuid 80000001 ecx=-8000<WDT>
> cpu6: smt 0, core 3, package 0
> cpu7 at mainbus0: apid 23 (application processor)
> cpu7: AMD Opteron(tm) Processor 4256 EE, 1601.52 MHz, 15-01-02, patch 0600063e
> cpu7: cpuid 80000001 ecx=+8000<WDT>
> cpu7: smt 1, core 3, package 0
> ioapic0 at mainbus0: apid 0 pa 0xfec00000, version 21, 24 pins
> ioapic1 at mainbus0: apid 1 pa 0xfec20000, version 21, 32 pins
> acpimcfg0 at acpi0
> acpimcfg0: addr 0xe0000000, bus 0-255
> acpihpet0 at acpi0: 14318180 Hz
> acpiprt0 at acpi0: bus 0 (PCI0)
> acpiprt1 at acpi0: bus -1 (PC02)
> acpiprt2 at acpi0: bus -1 (PC03)
> acpiprt3 at acpi0: bus -1 (PC04)
> acpiprt4 at acpi0: bus 1 (PC09)
> acpiprt5 at acpi0: bus 2 (PC0A)
> acpiprt6 at acpi0: bus 3 (P0PC)
> acpipci0 at acpi0 PCI0
> acpicmos0 at acpi0
> "PNP0303" at acpi0 not configured
> com0 at acpi0 UAR1 addr 0x3f8/0x8 irq 4: ns16550a, 16 byte fifo
> com0: console
> com1 at acpi0 UAR2 addr 0x2f8/0x8 irq 3: ns16550a, 16 byte fifo
> acpibtn0 at acpi0: PWRB
> acpicpu0 at acpi0: C2(0@100 io@0x815), C1(@1 halt!), PSS
> acpicpu1 at acpi0: C2(0@100 io@0x815), C1(@1 halt!), PSS
> acpicpu2 at acpi0: C2(0@100 io@0x815), C1(@1 halt!), PSS
> acpicpu3 at acpi0: C2(0@100 io@0x815), C1(@1 halt!), PSS
> acpicpu4 at acpi0: C2(0@100 io@0x815), C1(@1 halt!), PSS
> acpicpu5 at acpi0: C2(0@100 io@0x815), C1(@1 halt!), PSS
> acpicpu6 at acpi0: C2(0@100 io@0x815), C1(@1 halt!), PSS
> acpicpu7 at acpi0: C2(0@100 io@0x815), C1(@1 halt!), PSS
> ipmi at mainbus0 not configured
> cpu0: 1600 MHz: speeds: 1600 1500 1400 1300 1000 MHz
> pci0 at mainbus0 bus 0
> pchb0 at pci0 dev 0 function 0 "ATI SR5650 Host" rev 0x02
> ppb0 at pci0 dev 9 function 0 "ATI SR5690 PCIE" rev 0x00: msi
> pci1 at ppb0 bus 1
> em0 at pci1 dev 0 function 0 "Intel 82574L" rev 0x00: msi, address 
> 0c:c4:7a:76:00:7c
> ppb1 at pci0 dev 10 function 0 "ATI SR5690 PCIE" rev 0x00: msi
> pci2 at ppb1 bus 2
> em1 at pci2 dev 0 function 0 "Intel 82574L" rev 0x00: msi, address 
> 0c:c4:7a:76:00:7d
> ahci0 at pci0 dev 17 function 0 "ATI SBx00 SATA" rev 0x00: apic 0 int 22, 
> AHCI 1.1
> ahci0: port 0: 3.0Gb/s
> scsibus1 at ahci0: 32 targets
> sd0 at scsibus1 targ 0 lun 0: <ATA, WDC WD1000DHTZ-0, 04.0> 
> naa.50014ee65ac669ef
> sd0: 953869MB, 512 bytes/sector, 1953525168 sectors
> ohci0 at pci0 dev 18 function 0 "ATI SB700 USB" rev 0x00: apic 0 int 16, 
> version 1.0, legacy support
> ohci1 at pci0 dev 18 function 1 "ATI SB700 USB" rev 0x00: apic 0 int 16, 
> version 1.0, legacy support
> ehci0 at pci0 dev 18 function 2 "ATI SB700 USB2" rev 0x00: apic 0 int 17
> usb0 at ehci0: USB revision 2.0
> uhub0 at usb0 configuration 1 interface 0 "ATI EHCI root hub" rev 2.00/1.00 
> addr 1
> ohci2 at pci0 dev 19 function 0 "ATI SB700 USB" rev 0x00: apic 0 int 18, 
> version 1.0, legacy support
> ohci3 at pci0 dev 19 function 1 "ATI SB700 USB" rev 0x00: apic 0 int 18, 
> version 1.0, legacy support
> ehci1 at pci0 dev 19 function 2 "ATI SB700 USB2" rev 0x00: apic 0 int 19
> usb1 at ehci1: USB revision 2.0
> uhub1 at usb1 configuration 1 interface 0 "ATI EHCI root hub" rev 2.00/1.00 
> addr 1
> piixpm0 at pci0 dev 20 function 0 "ATI SBx00 SMBus" rev 0x3d: SMI
> iic0 at piixpm0
> sdtemp0 at iic0 addr 0x18: cat34ts02
> sdtemp1 at iic0 addr 0x19: cat34ts02
> sdtemp2 at iic0 addr 0x1a: cat34ts02
> sdtemp3 at iic0 addr 0x1b: stts2002
> nvt0 at iic0 addr 0x2f: W83795G
> spdmem0 at iic0 addr 0x50: 8GB DDR3 SDRAM registered ECC PC3-10600 with 
> thermal sensor
> spdmem1 at iic0 addr 0x51: 8GB DDR3 SDRAM registered ECC PC3-10600 with 
> thermal sensor
> spdmem2 at iic0 addr 0x52: 8GB DDR3 SDRAM registered ECC PC3-10600 with 
> thermal sensor
> spdmem3 at iic0 addr 0x53: 8GB DDR3 SDRAM registered ECC PC3-10600 with 
> thermal sensor
> pcib0 at pci0 dev 20 function 3 "ATI SB700 ISA" rev 0x00
> ppb2 at pci0 dev 20 function 4 "ATI SB600 PCI" rev 0x00
> pci3 at ppb2 bus 3
> vga1 at pci3 dev 4 function 0 "Matrox MGA G200eW" rev 0x0a
> wsdisplay at vga1 not configured
> ohci4 at pci0 dev 20 function 5 "ATI SB700 USB" rev 0x00: apic 0 int 18, 
> version 1.0, legacy support
> pchb1 at pci0 dev 24 function 0 "AMD 15/0xh Link Cfg" rev 0x00
> pchb2 at pci0 dev 24 function 1 "AMD 15/0xh Address Map" rev 0x00
> pchb3 at pci0 dev 24 function 2 "AMD 15/0xh DRAM Cfg" rev 0x00
> km0 at pci0 dev 24 function 3 "AMD 15/0xh Misc Cfg" rev 0x00
> pchb4 at pci0 dev 24 function 4 "AMD 15/0xh CPU Power" rev 0x00
> pchb5 at pci0 dev 24 function 5 "AMD 15/0xh Host" rev 0x00
> usb2 at ohci0: USB revision 1.0
> uhub2 at usb2 configuration 1 interface 0 "ATI OHCI root hub" rev 1.00/1.00 
> addr 1
> usb3 at ohci1: USB revision 1.0
> uhub3 at usb3 configuration 1 interface 0 "ATI OHCI root hub" rev 1.00/1.00 
> addr 1
> usb4 at ohci2: USB revision 1.0
> uhub4 at usb4 configuration 1 interface 0 "ATI OHCI root hub" rev 1.00/1.00 
> addr 1
> usb5 at ohci3: USB revision 1.0
> uhub5 at usb5 configuration 1 interface 0 "ATI OHCI root hub" rev 1.00/1.00 
> addr 1
> isa0 at pcib0
> isadma0 at isa0
> pckbc0 at isa0 port 0x60/5 irq 1 irq 12
> pckbd0 at pckbc0 (kbd slot)
> wskbd0 at pckbd0 mux 1
> pcppi0 at isa0 port 0x61
> spkr0 at pcppi0
> wbsio0 at isa0 port 0x2e/2: W83627DHG-P rev 0x73
> wbsio0 port 0xa10/2 not configured
> usb6 at ohci4: USB revision 1.0
> uhub6 at usb6 configuration 1 interface 0 "ATI OHCI root hub" rev 1.00/1.00 
> addr 1
> vmm0 at mainbus0: SVM/RVI
> vscsi0 at root
> scsibus2 at vscsi0: 256 targets
> softraid0 at root
> scsibus3 at softraid0: 256 targets
> root on sd0a (8571f49c59f83abb.a) swap on sd0b dump on sd0b
>

Reply via email to