All of lore.kernel.org
 help / color / mirror / Atom feed
* SMT/Hyperthreading detection not always correct
@ 2018-09-03 11:55 Hans van Kranenburg
  2018-09-03 13:13 ` Jan Beulich
  0 siblings, 1 reply; 5+ messages in thread
From: Hans van Kranenburg @ 2018-09-03 11:55 UTC (permalink / raw)
  To: xen-devel

Hi,

I ran into the situation where I got this banner in the xl dmesg...

(XEN) ***************************************************
(XEN) Booted on L1TF-vulnerable hardware with SMT/Hyperthreading
(XEN) enabled.  Please assess your configuration and choose an
(XEN) explicit 'smt=<bool>' setting.  See XSA-273.
(XEN) ***************************************************

...while hyperthreading is disabled in the bios settings.

Some lines from the POST messages:

ProLiant System BIOS - P68 (05/21/2018)
[...]
2 Processor(s) detected, 12 total cores enabled, Hyperthreading is disabled
Proc 1: Intel(R) Xeon(R) CPU X5675 @ 3.07GHz
Proc 2: Intel(R) Xeon(R) CPU X5675 @ 3.07GHz

More debug info below. See the thread '"Booted on L1TF-vulnerable
hardware with SMT/Hyperthreading enabled" .. or not?' in xen-users for
even more.

Reaction from Andrew on xen-users thread: "Looks like Xen does have a
bug identifying the topology.  Hyperthreading is definitely off, but
there is no MADT so information is probably being derived from the
legacy MP table.For now, set smt=0 if you want to skip the warning, and
can you email xen-devel with a bug report please? "

-# xl dmesg
(XEN) parameter "placeholder" unknown!
(XEN) Xen version 4.11.1-pre (Debian
4.11.1~pre+1.733450b39b-1~exp1~mxbp9+1) (hans@knorrie.org) (gcc (Debian
6.3.0-18+deb9u1) 6.3.0 20170516) debug=n  Wed Aug 22 15:26:44 UTC 2018
(XEN) Bootloader: GRUB 2.02~beta3-5
(XEN) Command line: placeholder dom0_max_vcpus=4 dom0_mem=4G,max:4G
com2=115200,8n1 console=com2,vga noreboot xpti=no-dom0 cpuinfo
dom0_vcpus_pin
(XEN) Xen image load base address: 0
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN)  VBE/DDC methods: none; EDID transfer time: 2 seconds
(XEN)  EDID info not retrieved because no DDC retrieval method detected
(XEN) Disc information:
(XEN)  Found 1 MBR signatures
(XEN)  Found 1 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN)  0000000000000000 - 000000000009f400 (usable)
(XEN)  000000000009f400 - 00000000000a0000 (reserved)
(XEN)  00000000000f0000 - 0000000000100000 (reserved)
(XEN)  0000000000100000 - 00000000d762f000 (usable)
(XEN)  00000000d762f000 - 00000000d763c000 (ACPI data)
(XEN)  00000000d763c000 - 00000000d763d000 (usable)
(XEN)  00000000d763d000 - 00000000dc000000 (reserved)
(XEN)  00000000fec00000 - 00000000fee10000 (reserved)
(XEN)  00000000ff800000 - 0000000100000000 (reserved)
(XEN)  0000000100000000 - 0000001b27fff000 (usable)
(XEN) New Xen image base address: 0xd7000000
(XEN) ACPI: RSDP 000F4F00, 0024 (r2 HP    )
(XEN) ACPI: XSDT D7630140, 00B4 (r1 HP     ProLiant        2   �\x04     162E)
(XEN) ACPI: FACP D7630240, 00F4 (r3 HP     ProLiant        2   �\x04     162E)
(XEN) ACPI: DSDT D7630340, 20BD (r1 HP         DSDT        1 INTL 20030228)
(XEN) ACPI: FACS D762F100, 0040
(XEN) ACPI: SPCR D762F140, 0050 (r1 HP     SPCRRBSU        1   �\x04     162E)
(XEN) ACPI: MCFG D762F1C0, 003C (r1 HP     ProLiant        1             0)
(XEN) ACPI: HPET D762F200, 0038 (r1 HP     ProLiant        2   �\x04     162E)
(XEN) ACPI: FFFF D762F240, 0064 (r2 HP     ProLiant        2   �\x04     162E)
(XEN) ACPI: SPMI D762F2C0, 0040 (r5 HP     ProLiant        1   �\x04     162E)
(XEN) ACPI: ERST D762F300, 01D0 (r1 HP     ProLiant        1   �\x04     162E)
(XEN) ACPI: APIC D762F500, 015E (r1 HP     ProLiant        2             0)
(XEN) ACPI: SRAT D762F680, 0570 (r1 HP     Proliant        1   �\x04     162E)
(XEN) ACPI: FFFF D762FC00, 0176 (r1 HP     ProLiant        1   �\x04     162E)
(XEN) ACPI: BERT D762FD80, 0030 (r1 HP     ProLiant        1   �\x04     162E)
(XEN) ACPI: HEST D762FDC0, 00BC (r1 HP     ProLiant        1   �\x04     162E)
(XEN) ACPI: DMAR D762FE80, 0146 (r1 HP     ProLiant        1   �\x04     162E)
(XEN) ACPI: SSDT D7632400, 0125 (r3     HP  CRSPCI0        2   HP        1)
(XEN) ACPI: SSDT D7632540, 01CF (r3     HP  riser1a        2 INTL 20061109)
(XEN) ACPI: SSDT D7632740, 03BB (r1     HP      pcc        1 INTL 20090625)
(XEN) ACPI: SSDT D7632B00, 0377 (r1     HP     pmab        1 INTL 20090625)
(XEN) ACPI: SSDT D7632E80, 2094 (r1  INTEL PPM RCM         1 INTL 20061109)
(XEN) System RAM: 110581MB (113235768kB)
(XEN) Domain heap initialised DMA width 32 bits
(XEN) IOAPIC[0]: apic_id 8, version 32, address 0xfec00000, GSI 0-23
(XEN) IOAPIC[1]: apic_id 0, version 32, address 0xfec80000, GSI 24-47
(XEN) Enabling APIC mode:  Phys.  Using 2 I/O APICs
(XEN) Failed to get Error Log Address Range.
(XEN) CPU: Physical Processor ID: 0
(XEN) CPU: Processor Core ID: 0
(XEN) CPU: L1 I cache: 32K, L1 D cache: 32K
(XEN) CPU: L2 cache: 256K
(XEN) CPU: L3 cache: 12288K
(XEN) Speculative mitigation facilities:
(XEN)   Hardware features: IBRS/IBPB STIBP L1D_FLUSH SSBD
(XEN)   Compiled-in support: INDIRECT_THUNK SHADOW_PAGING
(XEN)   Xen settings: BTI-Thunk RETPOLINE, SPEC_CTRL: IBRS- SSBD-,
Other: IBPB L1D_FLUSH
(XEN)   L1TF: believed vulnerable, maxphysaddr L1D 44, CPUID 40, Safe
address 10000000000
(XEN)   Support for VMs: PV: MSR_SPEC_CTRL RSB EAGER_FPU, HVM:
MSR_SPEC_CTRL RSB EAGER_FPU
(XEN)   XPTI (64-bit PV only): Dom0 disabled, DomU disabled
(XEN)   PV L1TF shadowing: Dom0 disabled, DomU enabled
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Initializing CPU#0
(XEN) Platform timer is 14.318MHz HPET
(XEN) Detected 3066.790 MHz processor.
(XEN) Initing memory sharing.
(XEN) [VT-D]Disabling IOMMU due to Intel 5500/5520/X58 Chipset errata
#47, #53
(XEN) I/O virtualisation disabled
(XEN) CPU0: Intel(R) Xeon(R) CPU           X5675  @ 3.07GHz stepping 02
(XEN) Enabled directed EOI with ioapic_ack_old on!
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using old ACK method
(XEN) Allocated console ring of 32 KiB.
(XEN) VMX: Supported advanced features:
(XEN)  - APIC MMIO access virtualisation
(XEN)  - APIC TPR shadow
(XEN)  - Extended Page Tables (EPT)
(XEN)  - Virtual-Processor Identifiers (VPID)
(XEN)  - Virtual NMI
(XEN)  - MSR direct-access bitmap
(XEN)  - Unrestricted Guest
(XEN) HVM: ASIDs enabled.
(XEN) HVM: VMX enabled
(XEN) HVM: Hardware Assisted Paging (HAP) detected
(XEN) HVM: HAP page sizes: 4kB, 2MB, 1GB
(XEN) CPU 0 APIC 0 -> Node 0
(XEN) CPU 1 APIC 2 -> Node 0
(XEN) Booting processor 1/2 eip 8f000
(XEN) Initializing CPU#1
(XEN) CPU: Physical Processor ID: 0
(XEN) CPU: Processor Core ID: 1
(XEN) CPU: L1 I cache: 32K, L1 D cache: 32K
(XEN) CPU: L2 cache: 256K
(XEN) CPU: L3 cache: 12288K
(XEN) CPU1: Intel(R) Xeon(R) CPU           X5675  @ 3.07GHz stepping 02
(XEN) CPU 2 APIC 4 -> Node 0
(XEN) Booting processor 2/4 eip 8f000
(XEN) Initializing CPU#2
(XEN) CPU: Physical Processor ID: 0
(XEN) CPU: Processor Core ID: 2
(XEN) CPU: L1 I cache: 32K, L1 D cache: 32K
(XEN) CPU: L2 cache: 256K
(XEN) CPU: L3 cache: 12288K
(XEN) CPU2: Intel(R) Xeon(R) CPU           X5675  @ 3.07GHz stepping 02
(XEN) CPU 3 APIC 16 -> Node 0
(XEN) Booting processor 3/16 eip 8f000
(XEN) Initializing CPU#3
(XEN) CPU: Physical Processor ID: 0
(XEN) CPU: Processor Core ID: 8
(XEN) CPU: L1 I cache: 32K, L1 D cache: 32K
(XEN) CPU: L2 cache: 256K
(XEN) CPU: L3 cache: 12288K
(XEN) CPU3: Intel(R) Xeon(R) CPU           X5675  @ 3.07GHz stepping 02
(XEN) CPU 4 APIC 18 -> Node 0
(XEN) Booting processor 4/18 eip 8f000
(XEN) Initializing CPU#4
(XEN) CPU: Physical Processor ID: 0
(XEN) CPU: Processor Core ID: 9
(XEN) CPU: L1 I cache: 32K, L1 D cache: 32K
(XEN) CPU: L2 cache: 256K
(XEN) CPU: L3 cache: 12288K
(XEN) CPU4: Intel(R) Xeon(R) CPU           X5675  @ 3.07GHz stepping 02
(XEN) CPU 5 APIC 20 -> Node 0
(XEN) Booting processor 5/20 eip 8f000
(XEN) Initializing CPU#5
(XEN) CPU: Physical Processor ID: 0
(XEN) CPU: Processor Core ID: 10
(XEN) CPU: L1 I cache: 32K, L1 D cache: 32K
(XEN) CPU: L2 cache: 256K
(XEN) CPU: L3 cache: 12288K
(XEN) CPU5: Intel(R) Xeon(R) CPU           X5675  @ 3.07GHz stepping 02
(XEN) CPU 6 APIC 32 -> Node 1
(XEN) Booting processor 6/32 eip 8f000
(XEN) Initializing CPU#6
(XEN) CPU: Physical Processor ID: 1
(XEN) CPU: Processor Core ID: 0
(XEN) CPU: L1 I cache: 32K, L1 D cache: 32K
(XEN) CPU: L2 cache: 256K
(XEN) CPU: L3 cache: 12288K
(XEN) CPU6: Intel(R) Xeon(R) CPU           X5675  @ 3.07GHz stepping 02
(XEN) CPU 7 APIC 34 -> Node 1
(XEN) Booting processor 7/34 eip 8f000
(XEN) Initializing CPU#7
(XEN) CPU: Physical Processor ID: 1
(XEN) CPU: Processor Core ID: 1
(XEN) CPU: L1 I cache: 32K, L1 D cache: 32K
(XEN) CPU: L2 cache: 256K
(XEN) CPU: L3 cache: 12288K
(XEN) CPU7: Intel(R) Xeon(R) CPU           X5675  @ 3.07GHz stepping 02
(XEN) CPU 8 APIC 36 -> Node 1
(XEN) Booting processor 8/36 eip 8f000
(XEN) Initializing CPU#8
(XEN) CPU: Physical Processor ID: 1
(XEN) CPU: Processor Core ID: 2
(XEN) CPU: L1 I cache: 32K, L1 D cache: 32K
(XEN) CPU: L2 cache: 256K
(XEN) CPU: L3 cache: 12288K
(XEN) CPU8: Intel(R) Xeon(R) CPU           X5675  @ 3.07GHz stepping 02
(XEN) CPU 9 APIC 48 -> Node 1
(XEN) Booting processor 9/48 eip 8f000
(XEN) Initializing CPU#9
(XEN) CPU: Physical Processor ID: 1
(XEN) CPU: Processor Core ID: 8
(XEN) CPU: L1 I cache: 32K, L1 D cache: 32K
(XEN) CPU: L2 cache: 256K
(XEN) CPU: L3 cache: 12288K
(XEN) CPU9: Intel(R) Xeon(R) CPU           X5675  @ 3.07GHz stepping 02
(XEN) CPU 10 APIC 50 -> Node 1
(XEN) Booting processor 10/50 eip 8f000
(XEN) Initializing CPU#10
(XEN) CPU: Physical Processor ID: 1
(XEN) CPU: Processor Core ID: 9
(XEN) CPU: L1 I cache: 32K, L1 D cache: 32K
(XEN) CPU: L2 cache: 256K
(XEN) CPU: L3 cache: 12288K
(XEN) CPU10: Intel(R) Xeon(R) CPU           X5675  @ 3.07GHz stepping 02
(XEN) CPU 11 APIC 52 -> Node 1
(XEN) Booting processor 11/52 eip 8f000
(XEN) Initializing CPU#11
(XEN) CPU: Physical Processor ID: 1
(XEN) CPU: Processor Core ID: 10
(XEN) CPU: L1 I cache: 32K, L1 D cache: 32K
(XEN) CPU: L2 cache: 256K
(XEN) CPU: L3 cache: 12288K
(XEN) CPU11: Intel(R) Xeon(R) CPU           X5675  @ 3.07GHz stepping 02
(XEN) Brought up 12 CPUs
(XEN) Dom0 has maximum 816 PIRQs
(XEN)  Xen  kernel: 64-bit, lsb, compat32
(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x266a000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN)  Dom0 alloc.:   0000000d98000000->0000000d9c000000 (1025804 pages
to be allocated)
(XEN)  Init. ramdisk: 0000001b2650c000->0000001b27dffa74
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN)  Loaded kernel: ffffffff81000000->ffffffff8266a000
(XEN)  Init. ramdisk: 0000000000000000->0000000000000000
(XEN)  Phys-Mach map: 0000008000000000->0000008000800000
(XEN)  Start info:    ffffffff8266a000->ffffffff8266a4b4
(XEN)  Xenstore ring: 0000000000000000->0000000000000000
(XEN)  Console ring:  0000000000000000->0000000000000000
(XEN)  Page tables:   ffffffff8266b000->ffffffff82682000
(XEN)  Boot stack:    ffffffff82682000->ffffffff82683000
(XEN)  TOTAL:         ffffffff80000000->ffffffff82800000
(XEN)  ENTRY ADDRESS: ffffffff82433180
(XEN) Dom0 has maximum 4 VCPUs
(XEN) Initial low memory virq threshold set at 0x4000 pages.
(XEN) Scrubbing Free RAM on 2 nodes using 12 CPUs
(XEN)
.........................................................................done.
(XEN) Std. Loglevel: Errors and warnings
(XEN) Guest Loglevel: Nothing (Rate-limited: Errors and warnings)
(XEN) ***************************************************
(XEN) Booted on L1TF-vulnerable hardware with SMT/Hyperthreading
(XEN) enabled.  Please assess your configuration and choose an
(XEN) explicit 'smt=<bool>' setting.  See XSA-273.
(XEN) ***************************************************
(XEN) 3... 2... 1...
(XEN) Xen is relinquishing VGA console.
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch
input to Xen)
(XEN) Freed 476kB init memory

-# cpuid -r
CPU 0:
   0x00000000 0x00: eax=0x0000000b ebx=0x756e6547 ecx=0x6c65746e
edx=0x49656e69
   0x00000001 0x00: eax=0x000206c2 ebx=0x00200800 ecx=0x029ee3ff
edx=0xbfebfbff
   0x00000002 0x00: eax=0x55035a01 ebx=0x00f0b0ff ecx=0x00000000
edx=0x00ca0000
   0x00000003 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000
edx=0x00000000
   0x00000004 0x00: eax=0x3c004121 ebx=0x01c0003f ecx=0x0000003f
edx=0x00000000
   0x00000004 0x01: eax=0x3c004122 ebx=0x00c0003f ecx=0x0000007f
edx=0x00000000
   0x00000004 0x02: eax=0x3c004143 ebx=0x01c0003f ecx=0x000001ff
edx=0x00000000
   0x00000004 0x03: eax=0x3c07c163 ebx=0x03c0003f ecx=0x00002fff
edx=0x00000002
   0x00000005 0x00: eax=0x00000040 ebx=0x00000040 ecx=0x00000003
edx=0x00001120
   0x00000006 0x00: eax=0x00000007 ebx=0x00000002 ecx=0x00000009
edx=0x00000000
   0x00000007 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000
edx=0x9c000000
   0x00000008 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000
edx=0x00000000
   0x00000009 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000
edx=0x00000000
   0x0000000a 0x00: eax=0x07300403 ebx=0x00000004 ecx=0x00000000
edx=0x00000603
   0x0000000b 0x00: eax=0x00000001 ebx=0x00000002 ecx=0x00000100
edx=0x00000000
   0x0000000b 0x01: eax=0x00000005 ebx=0x0000000c ecx=0x00000201
edx=0x00000000
   0x80000000 0x00: eax=0x80000008 ebx=0x00000000 ecx=0x00000000
edx=0x00000000
   0x80000001 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000001
edx=0x2c100800
   0x80000002 0x00: eax=0x65746e49 ebx=0x2952286c ecx=0x6f655820
edx=0x2952286e
   0x80000003 0x00: eax=0x55504320 ebx=0x20202020 ecx=0x20202020
edx=0x58202020
   0x80000004 0x00: eax=0x35373635 ebx=0x20402020 ecx=0x37302e33
edx=0x007a4847
   0x80000005 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000
edx=0x00000000
   0x80000006 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x01006040
edx=0x00000000
   0x80000007 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000
edx=0x00000100
   0x80000008 0x00: eax=0x00003028 ebx=0x00000000 ecx=0x00000000
edx=0x00000000
   0x80860000 0x00: eax=0x00000001 ebx=0x00000002 ecx=0x00000100
edx=0x00000000
   0xc0000000 0x00: eax=0x00000001 ebx=0x00000002 ecx=0x00000100
edx=0x00000000
CPU 1:
   0x00000000 0x00: eax=0x0000000b ebx=0x756e6547 ecx=0x6c65746e
edx=0x49656e69
   0x00000001 0x00: eax=0x000206c2 ebx=0x02200800 ecx=0x029ee3ff
edx=0xbfebfbff
   0x00000002 0x00: eax=0x55035a01 ebx=0x00f0b0ff ecx=0x00000000
edx=0x00ca0000
   0x00000003 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000
edx=0x00000000
   0x00000004 0x00: eax=0x3c004121 ebx=0x01c0003f ecx=0x0000003f
edx=0x00000000
   0x00000004 0x01: eax=0x3c004122 ebx=0x00c0003f ecx=0x0000007f
edx=0x00000000
   0x00000004 0x02: eax=0x3c004143 ebx=0x01c0003f ecx=0x000001ff
edx=0x00000000
   0x00000004 0x03: eax=0x3c07c163 ebx=0x03c0003f ecx=0x00002fff
edx=0x00000002
   0x00000005 0x00: eax=0x00000040 ebx=0x00000040 ecx=0x00000003
edx=0x00001120
   0x00000006 0x00: eax=0x00000007 ebx=0x00000002 ecx=0x00000009
edx=0x00000000
   0x00000007 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000
edx=0x9c000000
   0x00000008 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000
edx=0x00000000
   0x00000009 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000
edx=0x00000000
   0x0000000a 0x00: eax=0x07300403 ebx=0x00000004 ecx=0x00000000
edx=0x00000603
   0x0000000b 0x00: eax=0x00000001 ebx=0x00000002 ecx=0x00000100
edx=0x00000002
   0x0000000b 0x01: eax=0x00000005 ebx=0x0000000c ecx=0x00000201
edx=0x00000002
   0x80000000 0x00: eax=0x80000008 ebx=0x00000000 ecx=0x00000000
edx=0x00000000
   0x80000001 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000001
edx=0x2c100800
   0x80000002 0x00: eax=0x65746e49 ebx=0x2952286c ecx=0x6f655820
edx=0x2952286e
   0x80000003 0x00: eax=0x55504320 ebx=0x20202020 ecx=0x20202020
edx=0x58202020
   0x80000004 0x00: eax=0x35373635 ebx=0x20402020 ecx=0x37302e33
edx=0x007a4847
   0x80000005 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000
edx=0x00000000
   0x80000006 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x01006040
edx=0x00000000
   0x80000007 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000
edx=0x00000100
   0x80000008 0x00: eax=0x00003028 ebx=0x00000000 ecx=0x00000000
edx=0x00000000
   0x80860000 0x00: eax=0x00000001 ebx=0x00000002 ecx=0x00000100
edx=0x00000002
   0xc0000000 0x00: eax=0x00000001 ebx=0x00000002 ecx=0x00000100
edx=0x00000002
CPU 2:
   0x00000000 0x00: eax=0x0000000b ebx=0x756e6547 ecx=0x6c65746e
edx=0x49656e69
   0x00000001 0x00: eax=0x000206c2 ebx=0x04200800 ecx=0x029ee3ff
edx=0xbfebfbff
   0x00000002 0x00: eax=0x55035a01 ebx=0x00f0b0ff ecx=0x00000000
edx=0x00ca0000
   0x00000003 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000
edx=0x00000000
   0x00000004 0x00: eax=0x3c004121 ebx=0x01c0003f ecx=0x0000003f
edx=0x00000000
   0x00000004 0x01: eax=0x3c004122 ebx=0x00c0003f ecx=0x0000007f
edx=0x00000000
   0x00000004 0x02: eax=0x3c004143 ebx=0x01c0003f ecx=0x000001ff
edx=0x00000000
   0x00000004 0x03: eax=0x3c07c163 ebx=0x03c0003f ecx=0x00002fff
edx=0x00000002
   0x00000005 0x00: eax=0x00000040 ebx=0x00000040 ecx=0x00000003
edx=0x00001120
   0x00000006 0x00: eax=0x00000007 ebx=0x00000002 ecx=0x00000009
edx=0x00000000
   0x00000007 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000
edx=0x9c000000
   0x00000008 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000
edx=0x00000000
   0x00000009 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000
edx=0x00000000
   0x0000000a 0x00: eax=0x07300403 ebx=0x00000004 ecx=0x00000000
edx=0x00000603
   0x0000000b 0x00: eax=0x00000001 ebx=0x00000002 ecx=0x00000100
edx=0x00000004
   0x0000000b 0x01: eax=0x00000005 ebx=0x0000000c ecx=0x00000201
edx=0x00000004
   0x80000000 0x00: eax=0x80000008 ebx=0x00000000 ecx=0x00000000
edx=0x00000000
   0x80000001 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000001
edx=0x2c100800
   0x80000002 0x00: eax=0x65746e49 ebx=0x2952286c ecx=0x6f655820
edx=0x2952286e
   0x80000003 0x00: eax=0x55504320 ebx=0x20202020 ecx=0x20202020
edx=0x58202020
   0x80000004 0x00: eax=0x35373635 ebx=0x20402020 ecx=0x37302e33
edx=0x007a4847
   0x80000005 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000
edx=0x00000000
   0x80000006 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x01006040
edx=0x00000000
   0x80000007 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000
edx=0x00000100
   0x80000008 0x00: eax=0x00003028 ebx=0x00000000 ecx=0x00000000
edx=0x00000000
   0x80860000 0x00: eax=0x00000001 ebx=0x00000002 ecx=0x00000100
edx=0x00000004
   0xc0000000 0x00: eax=0x00000001 ebx=0x00000002 ecx=0x00000100
edx=0x00000004
CPU 3:
   0x00000000 0x00: eax=0x0000000b ebx=0x756e6547 ecx=0x6c65746e
edx=0x49656e69
   0x00000001 0x00: eax=0x000206c2 ebx=0x10200800 ecx=0x029ee3ff
edx=0xbfebfbff
   0x00000002 0x00: eax=0x55035a01 ebx=0x00f0b0ff ecx=0x00000000
edx=0x00ca0000
   0x00000003 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000
edx=0x00000000
   0x00000004 0x00: eax=0x3c004121 ebx=0x01c0003f ecx=0x0000003f
edx=0x00000000
   0x00000004 0x01: eax=0x3c004122 ebx=0x00c0003f ecx=0x0000007f
edx=0x00000000
   0x00000004 0x02: eax=0x3c004143 ebx=0x01c0003f ecx=0x000001ff
edx=0x00000000
   0x00000004 0x03: eax=0x3c07c163 ebx=0x03c0003f ecx=0x00002fff
edx=0x00000002
   0x00000005 0x00: eax=0x00000040 ebx=0x00000040 ecx=0x00000003
edx=0x00001120
   0x00000006 0x00: eax=0x00000007 ebx=0x00000002 ecx=0x00000009
edx=0x00000000
   0x00000007 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000
edx=0x9c000000
   0x00000008 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000
edx=0x00000000
   0x00000009 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000
edx=0x00000000
   0x0000000a 0x00: eax=0x07300403 ebx=0x00000004 ecx=0x00000000
edx=0x00000603
   0x0000000b 0x00: eax=0x00000001 ebx=0x00000002 ecx=0x00000100
edx=0x00000010
   0x0000000b 0x01: eax=0x00000005 ebx=0x0000000c ecx=0x00000201
edx=0x00000010
   0x80000000 0x00: eax=0x80000008 ebx=0x00000000 ecx=0x00000000
edx=0x00000000
   0x80000001 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000001
edx=0x2c100800
   0x80000002 0x00: eax=0x65746e49 ebx=0x2952286c ecx=0x6f655820
edx=0x2952286e
   0x80000003 0x00: eax=0x55504320 ebx=0x20202020 ecx=0x20202020
edx=0x58202020
   0x80000004 0x00: eax=0x35373635 ebx=0x20402020 ecx=0x37302e33
edx=0x007a4847
   0x80000005 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000
edx=0x00000000
   0x80000006 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x01006040
edx=0x00000000
   0x80000007 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000
edx=0x00000100
   0x80000008 0x00: eax=0x00003028 ebx=0x00000000 ecx=0x00000000
edx=0x00000000
   0x80860000 0x00: eax=0x00000001 ebx=0x00000002 ecx=0x00000100
edx=0x00000010
   0xc0000000 0x00: eax=0x00000001 ebx=0x00000002 ecx=0x00000100
edx=0x00000010

Or if the formatting is annoying, http://paste.debian.net/plainh/728b0c36

Thanks,
Hans

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: SMT/Hyperthreading detection not always correct
  2018-09-03 11:55 SMT/Hyperthreading detection not always correct Hans van Kranenburg
@ 2018-09-03 13:13 ` Jan Beulich
  2018-09-03 13:24   ` Hans van Kranenburg
  0 siblings, 1 reply; 5+ messages in thread
From: Jan Beulich @ 2018-09-03 13:13 UTC (permalink / raw)
  To: Hans van Kranenburg; +Cc: xen-devel

>>> On 03.09.18 at 13:55, <hans@knorrie.org> wrote:
> I ran into the situation where I got this banner in the xl dmesg...
> 
> (XEN) ***************************************************
> (XEN) Booted on L1TF-vulnerable hardware with SMT/Hyperthreading
> (XEN) enabled.  Please assess your configuration and choose an
> (XEN) explicit 'smt=<bool>' setting.  See XSA-273.
> (XEN) ***************************************************
> 
> ...while hyperthreading is disabled in the bios settings.
> 
> Some lines from the POST messages:
> 
> ProLiant System BIOS - P68 (05/21/2018)
> [...]
> 2 Processor(s) detected, 12 total cores enabled, Hyperthreading is disabled
> Proc 1: Intel(R) Xeon(R) CPU X5675 @ 3.07GHz
> Proc 2: Intel(R) Xeon(R) CPU X5675 @ 3.07GHz
> 
> More debug info below. See the thread '"Booted on L1TF-vulnerable
> hardware with SMT/Hyperthreading enabled" .. or not?' in xen-users for
> even more.
> 
> Reaction from Andrew on xen-users thread: "Looks like Xen does have a
> bug identifying the topology.  Hyperthreading is definitely off, but
> there is no MADT so information is probably being derived from the
> legacy MP table.For now, set smt=0 if you want to skip the warning, and
> can you email xen-devel with a bug report please? "

"There is no MADT information" could have been a hint to you that first
of all you need ...

> -# xl dmesg
> (XEN) parameter "placeholder" unknown!
> (XEN) Xen version 4.11.1-pre (Debian
> 4.11.1~pre+1.733450b39b-1~exp1~mxbp9+1) (hans@knorrie.org) (gcc (Debian
> 6.3.0-18+deb9u1) 6.3.0 20170516) debug=n  Wed Aug 22 15:26:44 UTC 2018
> (XEN) Bootloader: GRUB 2.02~beta3-5
> (XEN) Command line: placeholder dom0_max_vcpus=4 dom0_mem=4G,max:4G
> com2=115200,8n1 console=com2,vga noreboot xpti=no-dom0 cpuinfo
> dom0_vcpus_pin

... "loglvl=all" added so we can see all relevant information. In
particular ...

> (XEN) ACPI: RSDP 000F4F00, 0024 (r2 HP    )
> (XEN) ACPI: XSDT D7630140, 00B4 (r1 HP     ProLiant        2        162E)
> (XEN) ACPI: FACP D7630240, 00F4 (r3 HP     ProLiant        2        162E)
> (XEN) ACPI: DSDT D7630340, 20BD (r1 HP         DSDT        1 INTL 20030228)
> (XEN) ACPI: FACS D762F100, 0040
> (XEN) ACPI: SPCR D762F140, 0050 (r1 HP     SPCRRBSU        1        162E)
> (XEN) ACPI: MCFG D762F1C0, 003C (r1 HP     ProLiant        1             0)
> (XEN) ACPI: HPET D762F200, 0038 (r1 HP     ProLiant        2        162E)
> (XEN) ACPI: FFFF D762F240, 0064 (r2 HP     ProLiant        2        162E)
> (XEN) ACPI: SPMI D762F2C0, 0040 (r5 HP     ProLiant        1        162E)
> (XEN) ACPI: ERST D762F300, 01D0 (r1 HP     ProLiant        1        162E)
> (XEN) ACPI: APIC D762F500, 015E (r1 HP     ProLiant        2             0)
> (XEN) ACPI: SRAT D762F680, 0570 (r1 HP     Proliant        1        162E)
> (XEN) ACPI: FFFF D762FC00, 0176 (r1 HP     ProLiant        1        162E)
> (XEN) ACPI: BERT D762FD80, 0030 (r1 HP     ProLiant        1        162E)
> (XEN) ACPI: HEST D762FDC0, 00BC (r1 HP     ProLiant        1        162E)
> (XEN) ACPI: DMAR D762FE80, 0146 (r1 HP     ProLiant        1        162E)
> (XEN) ACPI: SSDT D7632400, 0125 (r3     HP  CRSPCI0        2   HP        1)
> (XEN) ACPI: SSDT D7632540, 01CF (r3     HP  riser1a        2 INTL 20061109)
> (XEN) ACPI: SSDT D7632740, 03BB (r1     HP      pcc        1 INTL 20090625)
> (XEN) ACPI: SSDT D7632B00, 0377 (r1     HP     pmab        1 INTL 20090625)
> (XEN) ACPI: SSDT D7632E80, 2094 (r1  INTEL PPM RCM         1 INTL 20061109)

... this demonstrates that ACPI is available, and I very much
hope your system isn't as screwed as there not being a MADT
available despite all the other ACPI tables being present.

> (XEN) IOAPIC[0]: apic_id 8, version 32, address 0xfec00000, GSI 0-23
> (XEN) IOAPIC[1]: apic_id 0, version 32, address 0xfec80000, GSI 24-47

FAOD - these two messages do not indicate presence of absence
of MADT.

> -# cpuid -r
> CPU 0:
> CPU 0:
>    0x00000000 0x00: eax=0x0000000b ebx=0x756e6547 ecx=0x6c65746e
> edx=0x49656e69
>    0x00000001 0x00: eax=0x000206c2 ebx=0x00200800 ecx=0x029ee3ff
> edx=0xbfebfbff

The HTT bit is 1 here (and EBX[23:16] is 0x20).

>[...]
>    0x00000004 0x00: eax=0x3c004121 ebx=0x01c0003f ecx=0x0000003f
> edx=0x00000000

EAX[31:26]=0x0f

i.e. 4 siblings as per the "old" detection method.

>[...]
>    0x0000000b 0x00: eax=0x00000001 ebx=0x00000002 ecx=0x00000100
> edx=0x00000000

EBX here tells us that the thread part of the APIC ID is two bits. This
makes us record "up to 4 threads per core", independent of the HTT flag
(which, as per above, is set anyway, and would have produced the
same result).

I wonder what exactly the BIOS does in order to report "Hyperthreading
is disabled".

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: SMT/Hyperthreading detection not always correct
  2018-09-03 13:13 ` Jan Beulich
@ 2018-09-03 13:24   ` Hans van Kranenburg
  2018-09-03 13:35     ` Jan Beulich
  0 siblings, 1 reply; 5+ messages in thread
From: Hans van Kranenburg @ 2018-09-03 13:24 UTC (permalink / raw)
  To: Jan Beulich; +Cc: xen-devel

On 09/03/2018 03:13 PM, Jan Beulich wrote:
>>>> On 03.09.18 at 13:55, <hans@knorrie.org> wrote:
>> I ran into the situation where I got this banner in the xl dmesg...
>>
>> (XEN) ***************************************************
>> (XEN) Booted on L1TF-vulnerable hardware with SMT/Hyperthreading
>> (XEN) enabled.  Please assess your configuration and choose an
>> (XEN) explicit 'smt=<bool>' setting.  See XSA-273.
>> (XEN) ***************************************************
>>
>> ...while hyperthreading is disabled in the bios settings.
>>
>> Some lines from the POST messages:
>>
>> ProLiant System BIOS - P68 (05/21/2018)
>> [...]
>> 2 Processor(s) detected, 12 total cores enabled, Hyperthreading is disabled
>> Proc 1: Intel(R) Xeon(R) CPU X5675 @ 3.07GHz
>> Proc 2: Intel(R) Xeon(R) CPU X5675 @ 3.07GHz
>>
>> More debug info below. See the thread '"Booted on L1TF-vulnerable
>> hardware with SMT/Hyperthreading enabled" .. or not?' in xen-users for
>> even more.
>>
>> Reaction from Andrew on xen-users thread: "Looks like Xen does have a
>> bug identifying the topology.  Hyperthreading is definitely off, but
>> there is no MADT so information is probably being derived from the
>> legacy MP table.For now, set smt=0 if you want to skip the warning, and
>> can you email xen-devel with a bug report please? "
> 
> "There is no MADT information" could have been a hint to you that first
> of all you need ...
> 
>> -# xl dmesg
>> (XEN) parameter "placeholder" unknown!
>> (XEN) Xen version 4.11.1-pre (Debian
>> 4.11.1~pre+1.733450b39b-1~exp1~mxbp9+1) (hans@knorrie.org) (gcc (Debian
>> 6.3.0-18+deb9u1) 6.3.0 20170516) debug=n  Wed Aug 22 15:26:44 UTC 2018
>> (XEN) Bootloader: GRUB 2.02~beta3-5
>> (XEN) Command line: placeholder dom0_max_vcpus=4 dom0_mem=4G,max:4G
>> com2=115200,8n1 console=com2,vga noreboot xpti=no-dom0 cpuinfo
>> dom0_vcpus_pin
> 
> ... "loglvl=all" added so we can see all relevant information. In
> particular ...
> 
>> (XEN) ACPI: RSDP 000F4F00, 0024 (r2 HP    )
>> (XEN) ACPI: XSDT D7630140, 00B4 (r1 HP     ProLiant        2        162E)
>> (XEN) ACPI: FACP D7630240, 00F4 (r3 HP     ProLiant        2        162E)
>> (XEN) ACPI: DSDT D7630340, 20BD (r1 HP         DSDT        1 INTL 20030228)
>> (XEN) ACPI: FACS D762F100, 0040
>> (XEN) ACPI: SPCR D762F140, 0050 (r1 HP     SPCRRBSU        1        162E)
>> (XEN) ACPI: MCFG D762F1C0, 003C (r1 HP     ProLiant        1             0)
>> (XEN) ACPI: HPET D762F200, 0038 (r1 HP     ProLiant        2        162E)
>> (XEN) ACPI: FFFF D762F240, 0064 (r2 HP     ProLiant        2        162E)
>> (XEN) ACPI: SPMI D762F2C0, 0040 (r5 HP     ProLiant        1        162E)
>> (XEN) ACPI: ERST D762F300, 01D0 (r1 HP     ProLiant        1        162E)
>> (XEN) ACPI: APIC D762F500, 015E (r1 HP     ProLiant        2             0)
>> (XEN) ACPI: SRAT D762F680, 0570 (r1 HP     Proliant        1        162E)
>> (XEN) ACPI: FFFF D762FC00, 0176 (r1 HP     ProLiant        1        162E)
>> (XEN) ACPI: BERT D762FD80, 0030 (r1 HP     ProLiant        1        162E)
>> (XEN) ACPI: HEST D762FDC0, 00BC (r1 HP     ProLiant        1        162E)
>> (XEN) ACPI: DMAR D762FE80, 0146 (r1 HP     ProLiant        1        162E)
>> (XEN) ACPI: SSDT D7632400, 0125 (r3     HP  CRSPCI0        2   HP        1)
>> (XEN) ACPI: SSDT D7632540, 01CF (r3     HP  riser1a        2 INTL 20061109)
>> (XEN) ACPI: SSDT D7632740, 03BB (r1     HP      pcc        1 INTL 20090625)
>> (XEN) ACPI: SSDT D7632B00, 0377 (r1     HP     pmab        1 INTL 20090625)
>> (XEN) ACPI: SSDT D7632E80, 2094 (r1  INTEL PPM RCM         1 INTL 20061109)
> 
> ... this demonstrates that ACPI is available, and I very much
> hope your system isn't as screwed as there not being a MADT
> available despite all the other ACPI tables being present.

Now with loglvl=all:

-# xl dmesg
(XEN) parameter "placeholder" unknown!
(XEN) Xen version 4.11.1-pre (Debian
4.11.1~pre+1.733450b39b-1~exp1~mxbp9+1) (hans@knorrie.org) (gcc (Debian
6.3.0-18+deb9u1) 6.3.0 20170516) debug=n  Wed Aug 22 15:26:44 UTC 2018
(XEN) Bootloader: GRUB 2.02~beta3-5
(XEN) Command line: placeholder dom0_max_vcpus=4 dom0_mem=4G,max:4G
com2=115200,8n1 console=com2,vga noreboot xpti=no-dom0 cpuinfo
dom0_vcpus_pin loglvl=all
(XEN) Xen image load base address: 0
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN)  VBE/DDC methods: none; EDID transfer time: 2 seconds
(XEN)  EDID info not retrieved because no DDC retrieval method detected
(XEN) Disc information:
(XEN)  Found 1 MBR signatures
(XEN)  Found 1 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN)  0000000000000000 - 000000000009f400 (usable)
(XEN)  000000000009f400 - 00000000000a0000 (reserved)
(XEN)  00000000000f0000 - 0000000000100000 (reserved)
(XEN)  0000000000100000 - 00000000d762f000 (usable)
(XEN)  00000000d762f000 - 00000000d763c000 (ACPI data)
(XEN)  00000000d763c000 - 00000000d763d000 (usable)
(XEN)  00000000d763d000 - 00000000dc000000 (reserved)
(XEN)  00000000fec00000 - 00000000fee10000 (reserved)
(XEN)  00000000ff800000 - 0000000100000000 (reserved)
(XEN)  0000000100000000 - 0000001b27fff000 (usable)
(XEN) New Xen image base address: 0xd7000000
(XEN) ACPI: RSDP 000F4F00, 0024 (r2 HP    )
(XEN) ACPI: XSDT D7630140, 00B4 (r1 HP     ProLiant        2   �\x04     162E)
(XEN) ACPI: FACP D7630240, 00F4 (r3 HP     ProLiant        2   �\x04     162E)
(XEN) ACPI: DSDT D7630340, 20BD (r1 HP         DSDT        1 INTL 20030228)
(XEN) ACPI: FACS D762F100, 0040
(XEN) ACPI: SPCR D762F140, 0050 (r1 HP     SPCRRBSU        1   �\x04     162E)
(XEN) ACPI: MCFG D762F1C0, 003C (r1 HP     ProLiant        1             0)
(XEN) ACPI: HPET D762F200, 0038 (r1 HP     ProLiant        2   �\x04     162E)
(XEN) ACPI: FFFF D762F240, 0064 (r2 HP     ProLiant        2   �\x04     162E)
(XEN) ACPI: SPMI D762F2C0, 0040 (r5 HP     ProLiant        1   �\x04     162E)
(XEN) ACPI: ERST D762F300, 01D0 (r1 HP     ProLiant        1   �\x04     162E)
(XEN) ACPI: APIC D762F500, 015E (r1 HP     ProLiant        2             0)
(XEN) ACPI: SRAT D762F680, 0570 (r1 HP     Proliant        1   �\x04     162E)
(XEN) ACPI: FFFF D762FC00, 0176 (r1 HP     ProLiant        1   �\x04     162E)
(XEN) ACPI: BERT D762FD80, 0030 (r1 HP     ProLiant        1   �\x04     162E)
(XEN) ACPI: HEST D762FDC0, 00BC (r1 HP     ProLiant        1   �\x04     162E)
(XEN) ACPI: DMAR D762FE80, 0146 (r1 HP     ProLiant        1   �\x04     162E)
(XEN) ACPI: SSDT D7632400, 0125 (r3     HP  CRSPCI0        2   HP        1)
(XEN) ACPI: SSDT D7632540, 01CF (r3     HP  riser1a        2 INTL 20061109)
(XEN) ACPI: SSDT D7632740, 03BB (r1     HP      pcc        1 INTL 20090625)
(XEN) ACPI: SSDT D7632B00, 0377 (r1     HP     pmab        1 INTL 20090625)
(XEN) ACPI: SSDT D7632E80, 2094 (r1  INTEL PPM RCM         1 INTL 20061109)
(XEN) System RAM: 110581MB (113235768kB)
(XEN) SRAT: PXM 0 -> APIC 00 -> Node 0
(XEN) SRAT: PXM 0 -> APIC 02 -> Node 0
(XEN) SRAT: PXM 0 -> APIC 04 -> Node 0
(XEN) SRAT: PXM 0 -> APIC 10 -> Node 0
(XEN) SRAT: PXM 0 -> APIC 12 -> Node 0
(XEN) SRAT: PXM 0 -> APIC 14 -> Node 0
(XEN) SRAT: PXM 1 -> APIC 20 -> Node 1
(XEN) SRAT: PXM 1 -> APIC 22 -> Node 1
(XEN) SRAT: PXM 1 -> APIC 24 -> Node 1
(XEN) SRAT: PXM 1 -> APIC 30 -> Node 1
(XEN) SRAT: PXM 1 -> APIC 32 -> Node 1
(XEN) SRAT: PXM 1 -> APIC 34 -> Node 1
(XEN) SRAT: Node 0 PXM 0 0-d8000000
(XEN) SRAT: Node 0 PXM 0 100000000-da8000000
(XEN) SRAT: Node 1 PXM 1 da8000000-1b28000000
(XEN) NUMA: Allocated memnodemap from 1b27ef9000 - 1b27efa000
(XEN) NUMA: Using 15 for the hash shift.
(XEN) Domain heap initialised DMA width 32 bits
(XEN) CPU Vendor: Intel, Family 6 (0x6), Model 44 (0x2c), Stepping 2
(raw 000206c2)
(XEN) found SMP MP-table at 000f4f80
(XEN) DMI 2.7 present.
(XEN) Using APIC driver default
(XEN) ACPI: PM-Timer IO Port: 0x908 (32 bits)
(XEN) ACPI: SLEEP INFO: pm1x_cnt[1:904,1:0], pm1x_evt[1:900,1:0]
(XEN) ACPI:             wakeup_vec[d762f10c], vec_size[20]
(XEN) ACPI: Local APIC address 0xfee00000
(XEN) ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
(XEN) ACPI: LAPIC (acpi_id[0x10] lapic_id[0x20] enabled)
(XEN) ACPI: LAPIC (acpi_id[0x08] lapic_id[0x10] enabled)
(XEN) ACPI: LAPIC (acpi_id[0x18] lapic_id[0x30] enabled)
(XEN) ACPI: LAPIC (acpi_id[0x04] lapic_id[0x04] enabled)
(XEN) ACPI: LAPIC (acpi_id[0x14] lapic_id[0x24] enabled)
(XEN) ACPI: LAPIC (acpi_id[0x0c] lapic_id[0x14] enabled)
(XEN) ACPI: LAPIC (acpi_id[0x1c] lapic_id[0x34] enabled)
(XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] enabled)
(XEN) ACPI: LAPIC (acpi_id[0x12] lapic_id[0x22] enabled)
(XEN) ACPI: LAPIC (acpi_id[0x0a] lapic_id[0x12] enabled)
(XEN) ACPI: LAPIC (acpi_id[0x1a] lapic_id[0x32] enabled)
(XEN) ACPI: LAPIC (acpi_id[0x06] lapic_id[0x06] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x16] lapic_id[0x26] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x0e] lapic_id[0x16] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x1e] lapic_id[0x36] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x11] lapic_id[0x21] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x09] lapic_id[0x11] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x19] lapic_id[0x31] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x05] lapic_id[0x05] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x15] lapic_id[0x25] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x0d] lapic_id[0x15] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x1d] lapic_id[0x35] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x03] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x13] lapic_id[0x23] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x0b] lapic_id[0x13] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x1b] lapic_id[0x33] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x07] lapic_id[0x07] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x17] lapic_id[0x27] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x0f] lapic_id[0x17] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x1f] lapic_id[0x37] disabled)
(XEN) ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])
(XEN) Overriding APIC driver with bigsmp
(XEN) ACPI: IOAPIC (id[0x08] address[0xfec00000] gsi_base[0])
(XEN) IOAPIC[0]: apic_id 8, version 32, address 0xfec00000, GSI 0-23
(XEN) ACPI: IOAPIC (id[0x00] address[0xfec80000] gsi_base[24])
(XEN) IOAPIC[1]: apic_id 0, version 32, address 0xfec80000, GSI 24-47
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 high edge)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
(XEN) ACPI: IRQ0 used by override.
(XEN) ACPI: IRQ2 used by override.
(XEN) ACPI: IRQ9 used by override.
(XEN) Enabling APIC mode:  Phys.  Using 2 I/O APICs
(XEN) ACPI: HPET id: 0x8086a201 base: 0xfed00000
(XEN) Failed to get Error Log Address Range.
(XEN) HEST: Table parsing has been initialized
(XEN) Using ACPI (MADT) for SMP configuration information
(XEN) SMP: Allowing 32 CPUs (20 hotplug CPUs)
(XEN) IRQ limits: 48 GSI, 2272 MSI/MSI-X
(XEN) Levelling caps: 0x1e
(XEN) MSR defaults: 1d 0xbfebfbff, 1c 0x029ee3ff, e1d 0x2c100800, e1c
0x00000001, Da1 0x00000000
(XEN) CPU: Physical Processor ID: 0
(XEN) CPU: Processor Core ID: 0
(XEN) CPU: L1 I cache: 32K, L1 D cache: 32K
(XEN) CPU: L2 cache: 256K
(XEN) CPU: L3 cache: 12288K
(XEN) CPU0: Thermal monitoring enabled (TM1)
(XEN) CPU0: Intel machine check reporting enabled
(XEN) Speculative mitigation facilities:
(XEN)   Hardware features: IBRS/IBPB STIBP L1D_FLUSH SSBD
(XEN)   Compiled-in support: INDIRECT_THUNK SHADOW_PAGING
(XEN)   Xen settings: BTI-Thunk RETPOLINE, SPEC_CTRL: IBRS- SSBD-,
Other: IBPB L1D_FLUSH
(XEN)   L1TF: believed vulnerable, maxphysaddr L1D 44, CPUID 40, Safe
address 10000000000
(XEN)   Support for VMs: PV: MSR_SPEC_CTRL RSB EAGER_FPU, HVM:
MSR_SPEC_CTRL RSB EAGER_FPU
(XEN)   XPTI (64-bit PV only): Dom0 disabled, DomU disabled
(XEN)   PV L1TF shadowing: Dom0 disabled, DomU enabled
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Initializing CPU#0
(XEN) Platform timer is 14.318MHz HPET
(XEN) Detected 3066.789 MHz processor.
(XEN) Initing memory sharing.
(XEN) alt table ffff82d0804287f8 -> ffff82d08042a58e
(XEN) PCI: MCFG configuration 0: base d8000000 segment 0000 buses 00 - 3f
(XEN) PCI: MCFG area at d8000000 reserved in E820
(XEN) PCI: Using MCFG for segment 0000 bus 00-3f
(XEN) [VT-D]Disabling IOMMU due to Intel 5500/5520/X58 Chipset errata
#47, #53
(XEN) I/O virtualisation disabled
(XEN) CPU0: Intel(R) Xeon(R) CPU           X5675  @ 3.07GHz stepping 02
(XEN) nr_sockets: 3
(XEN) Enabled directed EOI with ioapic_ack_old on!
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using old ACK method
(XEN) ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
(XEN) Allocated console ring of 128 KiB.
(XEN) mwait-idle: MWAIT substates: 0x1120
(XEN) mwait-idle: v0.4.1 model 0x2c
(XEN) mwait-idle: lapic_timer_reliable_states 0xffffffff
(XEN) VMX: Supported advanced features:
(XEN)  - APIC MMIO access virtualisation
(XEN)  - APIC TPR shadow
(XEN)  - Extended Page Tables (EPT)
(XEN)  - Virtual-Processor Identifiers (VPID)
(XEN)  - Virtual NMI
(XEN)  - MSR direct-access bitmap
(XEN)  - Unrestricted Guest
(XEN) HVM: ASIDs enabled.
(XEN) HVM: VMX enabled
(XEN) HVM: Hardware Assisted Paging (HAP) detected
(XEN) HVM: HAP page sizes: 4kB, 2MB, 1GB
(XEN) CPU 0 APIC 0 -> Node 0
(XEN) CPU 1 APIC 2 -> Node 0
(XEN) Booting processor 1/2 eip 8f000
(XEN) Initializing CPU#1
(XEN) CPU: Physical Processor ID: 0
(XEN) CPU: Processor Core ID: 1
(XEN) CPU: L1 I cache: 32K, L1 D cache: 32K
(XEN) CPU: L2 cache: 256K
(XEN) CPU: L3 cache: 12288K
(XEN) CPU1: Thermal monitoring enabled (TM1)
(XEN) CPU1: Intel(R) Xeon(R) CPU           X5675  @ 3.07GHz stepping 02
(XEN) CPU 2 APIC 4 -> Node 0
(XEN) Booting processor 2/4 eip 8f000
(XEN) Initializing CPU#2
(XEN) CPU: Physical Processor ID: 0
(XEN) CPU: Processor Core ID: 2
(XEN) CPU: L1 I cache: 32K, L1 D cache: 32K
(XEN) CPU: L2 cache: 256K
(XEN) CPU: L3 cache: 12288K
(XEN) CPU2: Thermal monitoring enabled (TM1)
(XEN) CPU2: Intel(R) Xeon(R) CPU           X5675  @ 3.07GHz stepping 02
(XEN) CPU 3 APIC 16 -> Node 0
(XEN) Booting processor 3/16 eip 8f000
(XEN) Initializing CPU#3
(XEN) CPU: Physical Processor ID: 0
(XEN) CPU: Processor Core ID: 8
(XEN) CPU: L1 I cache: 32K, L1 D cache: 32K
(XEN) CPU: L2 cache: 256K
(XEN) CPU: L3 cache: 12288K
(XEN) CPU3: Thermal monitoring enabled (TM1)
(XEN) CPU3: Intel(R) Xeon(R) CPU           X5675  @ 3.07GHz stepping 02
(XEN) CPU 4 APIC 18 -> Node 0
(XEN) Booting processor 4/18 eip 8f000
(XEN) Initializing CPU#4
(XEN) CPU: Physical Processor ID: 0
(XEN) CPU: Processor Core ID: 9
(XEN) CPU: L1 I cache: 32K, L1 D cache: 32K
(XEN) CPU: L2 cache: 256K
(XEN) CPU: L3 cache: 12288K
(XEN) CPU4: Thermal monitoring enabled (TM1)
(XEN) CPU4: Intel(R) Xeon(R) CPU           X5675  @ 3.07GHz stepping 02
(XEN) CPU 5 APIC 20 -> Node 0
(XEN) Booting processor 5/20 eip 8f000
(XEN) Initializing CPU#5
(XEN) CPU: Physical Processor ID: 0
(XEN) CPU: Processor Core ID: 10
(XEN) CPU: L1 I cache: 32K, L1 D cache: 32K
(XEN) CPU: L2 cache: 256K
(XEN) CPU: L3 cache: 12288K
(XEN) CPU5: Thermal monitoring enabled (TM1)
(XEN) CPU5: Intel(R) Xeon(R) CPU           X5675  @ 3.07GHz stepping 02
(XEN) CPU 6 APIC 32 -> Node 1
(XEN) Booting processor 6/32 eip 8f000
(XEN) Initializing CPU#6
(XEN) CPU: Physical Processor ID: 1
(XEN) CPU: Processor Core ID: 0
(XEN) CPU: L1 I cache: 32K, L1 D cache: 32K
(XEN) CPU: L2 cache: 256K
(XEN) CPU: L3 cache: 12288K
(XEN) CPU6: Thermal monitoring enabled (TM1)
(XEN) CPU6: Intel(R) Xeon(R) CPU           X5675  @ 3.07GHz stepping 02
(XEN) CPU 7 APIC 34 -> Node 1
(XEN) Booting processor 7/34 eip 8f000
(XEN) Initializing CPU#7
(XEN) CPU: Physical Processor ID: 1
(XEN) CPU: Processor Core ID: 1
(XEN) CPU: L1 I cache: 32K, L1 D cache: 32K
(XEN) CPU: L2 cache: 256K
(XEN) CPU: L3 cache: 12288K
(XEN) CPU7: Thermal monitoring enabled (TM1)
(XEN) CPU7: Intel(R) Xeon(R) CPU           X5675  @ 3.07GHz stepping 02
(XEN) CPU 8 APIC 36 -> Node 1
(XEN) Booting processor 8/36 eip 8f000
(XEN) Initializing CPU#8
(XEN) CPU: Physical Processor ID: 1
(XEN) CPU: Processor Core ID: 2
(XEN) CPU: L1 I cache: 32K, L1 D cache: 32K
(XEN) CPU: L2 cache: 256K
(XEN) CPU: L3 cache: 12288K
(XEN) CPU8: Thermal monitoring enabled (TM1)
(XEN) CPU8: Intel(R) Xeon(R) CPU           X5675  @ 3.07GHz stepping 02
(XEN) CPU 9 APIC 48 -> Node 1
(XEN) Booting processor 9/48 eip 8f000
(XEN) Initializing CPU#9
(XEN) CPU: Physical Processor ID: 1
(XEN) CPU: Processor Core ID: 8
(XEN) CPU: L1 I cache: 32K, L1 D cache: 32K
(XEN) CPU: L2 cache: 256K
(XEN) CPU: L3 cache: 12288K
(XEN) CPU9: Thermal monitoring enabled (TM1)
(XEN) CPU9: Intel(R) Xeon(R) CPU           X5675  @ 3.07GHz stepping 02
(XEN) CPU 10 APIC 50 -> Node 1
(XEN) Booting processor 10/50 eip 8f000
(XEN) Initializing CPU#10
(XEN) CPU: Physical Processor ID: 1
(XEN) CPU: Processor Core ID: 9
(XEN) CPU: L1 I cache: 32K, L1 D cache: 32K
(XEN) CPU: L2 cache: 256K
(XEN) CPU: L3 cache: 12288K
(XEN) CPU10: Thermal monitoring enabled (TM1)
(XEN) CPU10: Intel(R) Xeon(R) CPU           X5675  @ 3.07GHz stepping 02
(XEN) CPU 11 APIC 52 -> Node 1
(XEN) Booting processor 11/52 eip 8f000
(XEN) Initializing CPU#11
(XEN) CPU: Physical Processor ID: 1
(XEN) CPU: Processor Core ID: 10
(XEN) CPU: L1 I cache: 32K, L1 D cache: 32K
(XEN) CPU: L2 cache: 256K
(XEN) CPU: L3 cache: 12288K
(XEN) CPU11: Thermal monitoring enabled (TM1)
(XEN) CPU11: Intel(R) Xeon(R) CPU           X5675  @ 3.07GHz stepping 02
(XEN) Brought up 12 CPUs
(XEN) build-id: 608b6c7506b39944b62cdec31cbf5006614ed9ba
(XEN) ACPI sleep modes: S3
(XEN) VPMU: disabled
(XEN) mcheck_poll: Machine check polling timer started.
(XEN) Dom0 has maximum 816 PIRQs
(XEN) NX (Execute Disable) protection active
(XEN) *** Building a PV Dom0 ***
(XEN)  Xen  kernel: 64-bit, lsb, compat32
(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x266a000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN)  Dom0 alloc.:   0000000d98000000->0000000d9c000000 (1025804 pages
to be allocated)
(XEN)  Init. ramdisk: 0000001b2650c000->0000001b27dffa74
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN)  Loaded kernel: ffffffff81000000->ffffffff8266a000
(XEN)  Init. ramdisk: 0000000000000000->0000000000000000
(XEN)  Phys-Mach map: 0000008000000000->0000008000800000
(XEN)  Start info:    ffffffff8266a000->ffffffff8266a4b4
(XEN)  Xenstore ring: 0000000000000000->0000000000000000
(XEN)  Console ring:  0000000000000000->0000000000000000
(XEN)  Page tables:   ffffffff8266b000->ffffffff82682000
(XEN)  Boot stack:    ffffffff82682000->ffffffff82683000
(XEN)  TOTAL:         ffffffff80000000->ffffffff82800000
(XEN)  ENTRY ADDRESS: ffffffff82433180
(XEN) Dom0 has maximum 4 VCPUs
(XEN) Initial low memory virq threshold set at 0x4000 pages.
(XEN) Scrubbing Free RAM on 2 nodes using 12 CPUs
(XEN)
.........................................................................done.
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: Nothing (Rate-limited: Errors and warnings)
(XEN) ***************************************************
(XEN) Booted on L1TF-vulnerable hardware with SMT/Hyperthreading
(XEN) enabled.  Please assess your configuration and choose an
(XEN) explicit 'smt=<bool>' setting.  See XSA-273.
(XEN) ***************************************************
(XEN) 3... 2... 1...
(XEN) Xen is relinquishing VGA console.
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch
input to Xen)
(XEN) Freed 476kB init memory
(XEN) PCI add device 0000:00:00.0
(XEN) PCI add device 0000:00:01.0
(XEN) PCI add device 0000:00:02.0
(XEN) PCI add device 0000:00:03.0
(XEN) PCI add device 0000:00:04.0
(XEN) PCI add device 0000:00:05.0
(XEN) PCI add device 0000:00:06.0
(XEN) PCI add device 0000:00:07.0
(XEN) PCI add device 0000:00:08.0
(XEN) PCI add device 0000:00:09.0
(XEN) PCI add device 0000:00:0a.0
(XEN) PCI add device 0000:00:0d.0
(XEN) PCI add device 0000:00:0d.1
(XEN) PCI add device 0000:00:0d.2
(XEN) PCI add device 0000:00:0d.3
(XEN) PCI add device 0000:00:0d.4
(XEN) PCI add device 0000:00:0d.5
(XEN) PCI add device 0000:00:0d.6
(XEN) PCI add device 0000:00:0e.0
(XEN) PCI add device 0000:00:0e.1
(XEN) PCI add device 0000:00:0e.2
(XEN) PCI add device 0000:00:0e.3
(XEN) PCI add device 0000:00:0e.4
(XEN) PCI add device 0000:00:14.0
(XEN) PCI add device 0000:00:14.1
(XEN) PCI add device 0000:00:14.2
(XEN) PCI add device 0000:00:1c.0
(XEN) PCI add device 0000:00:1c.4
(XEN) PCI add device 0000:00:1d.0
(XEN) PCI add device 0000:00:1d.1
(XEN) PCI add device 0000:00:1d.2
(XEN) PCI add device 0000:00:1d.3
(XEN) PCI add device 0000:00:1d.7
(XEN) PCI add device 0000:00:1e.0
(XEN) PCI add device 0000:00:1f.0
(XEN) PCI add device 0000:05:00.0
(XEN) PCI add device 0000:09:00.0
(XEN) PCI add device 0000:03:00.0
(XEN) PCI add device 0000:03:00.1
(XEN) PCI add device 0000:04:00.0
(XEN) PCI add device 0000:04:00.1
(XEN) PCI add device 0000:02:00.0
(XEN) PCI add device 0000:02:00.2
(XEN) PCI add device 0000:02:00.4
(XEN) PCI add device 0000:01:03.0
(XEN) PCI add device 0000:3e:00.0
(XEN) PCI add device 0000:3e:00.1
(XEN) PCI add device 0000:3e:02.0
(XEN) PCI add device 0000:3e:02.1
(XEN) PCI add device 0000:3e:02.2
(XEN) PCI add device 0000:3e:02.3
(XEN) PCI add device 0000:3e:02.4
(XEN) PCI add device 0000:3e:02.5
(XEN) PCI add device 0000:3e:03.0
(XEN) PCI add device 0000:3e:03.1
(XEN) PCI add device 0000:3e:03.2
(XEN) PCI add device 0000:3e:03.4
(XEN) PCI add device 0000:3e:04.0
(XEN) PCI add device 0000:3e:04.1
(XEN) PCI add device 0000:3e:04.2
(XEN) PCI add device 0000:3e:04.3
(XEN) PCI add device 0000:3e:05.0
(XEN) PCI add device 0000:3e:05.1
(XEN) PCI add device 0000:3e:05.2
(XEN) PCI add device 0000:3e:05.3
(XEN) PCI add device 0000:3e:06.0
(XEN) PCI add device 0000:3e:06.1
(XEN) PCI add device 0000:3e:06.2
(XEN) PCI add device 0000:3e:06.3
(XEN) PCI add device 0000:3f:00.0
(XEN) PCI add device 0000:3f:00.1
(XEN) PCI add device 0000:3f:02.0
(XEN) PCI add device 0000:3f:02.1
(XEN) PCI add device 0000:3f:02.2
(XEN) PCI add device 0000:3f:02.3
(XEN) PCI add device 0000:3f:02.4
(XEN) PCI add device 0000:3f:02.5
(XEN) PCI add device 0000:3f:03.0
(XEN) PCI add device 0000:3f:03.1
(XEN) PCI add device 0000:3f:03.2
(XEN) PCI add device 0000:3f:03.4
(XEN) PCI add device 0000:3f:04.0
(XEN) PCI add device 0000:3f:04.1
(XEN) PCI add device 0000:3f:04.2
(XEN) PCI add device 0000:3f:04.3
(XEN) PCI add device 0000:3f:05.0
(XEN) PCI add device 0000:3f:05.1
(XEN) PCI add device 0000:3f:05.2
(XEN) PCI add device 0000:3f:05.3
(XEN) PCI add device 0000:3f:06.0
(XEN) PCI add device 0000:3f:06.1
(XEN) PCI add device 0000:3f:06.2
(XEN) PCI add device 0000:3f:06.3

>> (XEN) IOAPIC[0]: apic_id 8, version 32, address 0xfec00000, GSI 0-23
>> (XEN) IOAPIC[1]: apic_id 0, version 32, address 0xfec80000, GSI 24-47
> 
> FAOD - these two messages do not indicate presence of absence
> of MADT.
> 
>> -# cpuid -r
>> CPU 0:
>> CPU 0:
>>    0x00000000 0x00: eax=0x0000000b ebx=0x756e6547 ecx=0x6c65746e
>> edx=0x49656e69
>>    0x00000001 0x00: eax=0x000206c2 ebx=0x00200800 ecx=0x029ee3ff
>> edx=0xbfebfbff
> 
> The HTT bit is 1 here (and EBX[23:16] is 0x20).
> 
>> [...]
>>    0x00000004 0x00: eax=0x3c004121 ebx=0x01c0003f ecx=0x0000003f
>> edx=0x00000000
> 
> EAX[31:26]=0x0f
> 
> i.e. 4 siblings as per the "old" detection method.
> 
>> [...]
>>    0x0000000b 0x00: eax=0x00000001 ebx=0x00000002 ecx=0x00000100
>> edx=0x00000000
> 
> EBX here tells us that the thread part of the APIC ID is two bits. This
> makes us record "up to 4 threads per core", independent of the HTT flag
> (which, as per above, is set anyway, and would have produced the
> same result).
> 
> I wonder what exactly the BIOS does in order to report "Hyperthreading
> is disabled".

Thanks,
Hans


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: SMT/Hyperthreading detection not always correct
  2018-09-03 13:24   ` Hans van Kranenburg
@ 2018-09-03 13:35     ` Jan Beulich
  2018-09-03 14:52       ` Hans van Kranenburg
  0 siblings, 1 reply; 5+ messages in thread
From: Jan Beulich @ 2018-09-03 13:35 UTC (permalink / raw)
  To: Hans van Kranenburg; +Cc: xen-devel

>>> On 03.09.18 at 15:24, <hans@knorrie.org> wrote:
> (XEN) ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
> (XEN) ACPI: LAPIC (acpi_id[0x10] lapic_id[0x20] enabled)
> (XEN) ACPI: LAPIC (acpi_id[0x08] lapic_id[0x10] enabled)
> (XEN) ACPI: LAPIC (acpi_id[0x18] lapic_id[0x30] enabled)
> (XEN) ACPI: LAPIC (acpi_id[0x04] lapic_id[0x04] enabled)
> (XEN) ACPI: LAPIC (acpi_id[0x14] lapic_id[0x24] enabled)
> (XEN) ACPI: LAPIC (acpi_id[0x0c] lapic_id[0x14] enabled)
> (XEN) ACPI: LAPIC (acpi_id[0x1c] lapic_id[0x34] enabled)
> (XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] enabled)
> (XEN) ACPI: LAPIC (acpi_id[0x12] lapic_id[0x22] enabled)
> (XEN) ACPI: LAPIC (acpi_id[0x0a] lapic_id[0x12] enabled)
> (XEN) ACPI: LAPIC (acpi_id[0x1a] lapic_id[0x32] enabled)
> (XEN) ACPI: LAPIC (acpi_id[0x06] lapic_id[0x06] disabled)
> (XEN) ACPI: LAPIC (acpi_id[0x16] lapic_id[0x26] disabled)
> (XEN) ACPI: LAPIC (acpi_id[0x0e] lapic_id[0x16] disabled)
> (XEN) ACPI: LAPIC (acpi_id[0x1e] lapic_id[0x36] disabled)

These look to be all the primary threads, the last few disabled due
to being absent.

> (XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] disabled)
> (XEN) ACPI: LAPIC (acpi_id[0x11] lapic_id[0x21] disabled)
> (XEN) ACPI: LAPIC (acpi_id[0x09] lapic_id[0x11] disabled)
> (XEN) ACPI: LAPIC (acpi_id[0x19] lapic_id[0x31] disabled)
> (XEN) ACPI: LAPIC (acpi_id[0x05] lapic_id[0x05] disabled)
> (XEN) ACPI: LAPIC (acpi_id[0x15] lapic_id[0x25] disabled)
> (XEN) ACPI: LAPIC (acpi_id[0x0d] lapic_id[0x15] disabled)
> (XEN) ACPI: LAPIC (acpi_id[0x1d] lapic_id[0x35] disabled)
> (XEN) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x03] disabled)
> (XEN) ACPI: LAPIC (acpi_id[0x13] lapic_id[0x23] disabled)
> (XEN) ACPI: LAPIC (acpi_id[0x0b] lapic_id[0x13] disabled)
> (XEN) ACPI: LAPIC (acpi_id[0x1b] lapic_id[0x33] disabled)
> (XEN) ACPI: LAPIC (acpi_id[0x07] lapic_id[0x07] disabled)
> (XEN) ACPI: LAPIC (acpi_id[0x17] lapic_id[0x27] disabled)
> (XEN) ACPI: LAPIC (acpi_id[0x0f] lapic_id[0x17] disabled)
> (XEN) ACPI: LAPIC (acpi_id[0x1f] lapic_id[0x37] disabled)

And these are all the secondary threads afaict, which are all
disabled. I'm unconvinced we can assume a system is not using
hyperthreading simply based upon their MADT entries showing all
of them as disabled - what if a HT-enabled CPU was later
hotplugged?

I would have hoped that the topology related CPUID output
would change when HT is (properly) disabled by the BIOS.

For the moment I can't see a way around you specifying "smt=0"
on systems like this one.

Jan



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: SMT/Hyperthreading detection not always correct
  2018-09-03 13:35     ` Jan Beulich
@ 2018-09-03 14:52       ` Hans van Kranenburg
  0 siblings, 0 replies; 5+ messages in thread
From: Hans van Kranenburg @ 2018-09-03 14:52 UTC (permalink / raw)
  To: Jan Beulich; +Cc: xen-devel

On 09/03/2018 03:35 PM, Jan Beulich wrote:
>>>> On 03.09.18 at 15:24, <hans@knorrie.org> wrote:
>> (XEN) ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
>> (XEN) ACPI: LAPIC (acpi_id[0x10] lapic_id[0x20] enabled)
>> (XEN) ACPI: LAPIC (acpi_id[0x08] lapic_id[0x10] enabled)
>> (XEN) ACPI: LAPIC (acpi_id[0x18] lapic_id[0x30] enabled)
>> (XEN) ACPI: LAPIC (acpi_id[0x04] lapic_id[0x04] enabled)
>> (XEN) ACPI: LAPIC (acpi_id[0x14] lapic_id[0x24] enabled)
>> (XEN) ACPI: LAPIC (acpi_id[0x0c] lapic_id[0x14] enabled)
>> (XEN) ACPI: LAPIC (acpi_id[0x1c] lapic_id[0x34] enabled)
>> (XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] enabled)
>> (XEN) ACPI: LAPIC (acpi_id[0x12] lapic_id[0x22] enabled)
>> (XEN) ACPI: LAPIC (acpi_id[0x0a] lapic_id[0x12] enabled)
>> (XEN) ACPI: LAPIC (acpi_id[0x1a] lapic_id[0x32] enabled)
>> (XEN) ACPI: LAPIC (acpi_id[0x06] lapic_id[0x06] disabled)
>> (XEN) ACPI: LAPIC (acpi_id[0x16] lapic_id[0x26] disabled)
>> (XEN) ACPI: LAPIC (acpi_id[0x0e] lapic_id[0x16] disabled)
>> (XEN) ACPI: LAPIC (acpi_id[0x1e] lapic_id[0x36] disabled)
> 
> These look to be all the primary threads, the last few disabled due
> to being absent.
> 
>> (XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] disabled)
>> (XEN) ACPI: LAPIC (acpi_id[0x11] lapic_id[0x21] disabled)
>> (XEN) ACPI: LAPIC (acpi_id[0x09] lapic_id[0x11] disabled)
>> (XEN) ACPI: LAPIC (acpi_id[0x19] lapic_id[0x31] disabled)
>> (XEN) ACPI: LAPIC (acpi_id[0x05] lapic_id[0x05] disabled)
>> (XEN) ACPI: LAPIC (acpi_id[0x15] lapic_id[0x25] disabled)
>> (XEN) ACPI: LAPIC (acpi_id[0x0d] lapic_id[0x15] disabled)
>> (XEN) ACPI: LAPIC (acpi_id[0x1d] lapic_id[0x35] disabled)
>> (XEN) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x03] disabled)
>> (XEN) ACPI: LAPIC (acpi_id[0x13] lapic_id[0x23] disabled)
>> (XEN) ACPI: LAPIC (acpi_id[0x0b] lapic_id[0x13] disabled)
>> (XEN) ACPI: LAPIC (acpi_id[0x1b] lapic_id[0x33] disabled)
>> (XEN) ACPI: LAPIC (acpi_id[0x07] lapic_id[0x07] disabled)
>> (XEN) ACPI: LAPIC (acpi_id[0x17] lapic_id[0x27] disabled)
>> (XEN) ACPI: LAPIC (acpi_id[0x0f] lapic_id[0x17] disabled)
>> (XEN) ACPI: LAPIC (acpi_id[0x1f] lapic_id[0x37] disabled)
> 
> And these are all the secondary threads afaict, which are all
> disabled. I'm unconvinced we can assume a system is not using
> hyperthreading simply based upon their MADT entries showing all
> of them as disabled - what if a HT-enabled CPU was later
> hotplugged?
> 
> I would have hoped that the topology related CPUID output
> would change when HT is (properly) disabled by the BIOS.
> 
> For the moment I can't see a way around you specifying "smt=0"
> on systems like this one.

The actual reason why I started the conversation about it was that for a
regular end user, the message telling the user that he has "hardware
with SMT/Hyperthreading enabled" is a confusing thing if you just made
sure that you have it disabled in the settings.

So, alternatively, instead of a technical solution, the warning could be
changed to something like "Booted on L1TF-vulnerable hardware and unable
to properly detect if SMT/Hyperthreading is enabled or disabled....
Please choose explicit smt setting blah to make sure that it behaves how
you want."

As a user, that's less confusing, it just tells me that Xen likes me to
make explicit what I want.

Hans

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-09-03 14:52 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-03 11:55 SMT/Hyperthreading detection not always correct Hans van Kranenburg
2018-09-03 13:13 ` Jan Beulich
2018-09-03 13:24   ` Hans van Kranenburg
2018-09-03 13:35     ` Jan Beulich
2018-09-03 14:52       ` Hans van Kranenburg

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.