Processor cores not properly detected/activated?

From: Tim Bishop <tim-lists_at_bishnet.net>
Date: Sat, 24 May 2014 02:47:13 +0100
I have a new quad CPU system containing four of these processors:

Intel(R) Xeon(R) CPU E7-4830 v2 _at_ 2.20GHz (2200.05-MHz K8-class CPU)

I've tried FreeBSD 10.0, stable/10 and head, but all of them only detect
a maximum of 64 "CPUs". There should be 80. Here's the relevant dmesg
output (full output attached):

FreeBSD/SMP: Multiprocessor System Detected: 64 CPUs
FreeBSD/SMP: 3 package(s) x 10 core(s) x 2 SMT threads
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
 ...
 cpu62 (AP): APIC ID: 98
 cpu63 (AP): APIC ID: 99
  cpu (AP): APIC ID: 100 (disabled)
  cpu (AP): APIC ID: 101 (disabled)
  cpu (AP): APIC ID: 102 (disabled)
  cpu (AP): APIC ID: 103 (disabled)
  cpu (AP): APIC ID: 104 (disabled)
  cpu (AP): APIC ID: 105 (disabled)
  cpu (AP): APIC ID: 112 (disabled)
  cpu (AP): APIC ID: 113 (disabled)
  cpu (AP): APIC ID: 114 (disabled)
  cpu (AP): APIC ID: 115 (disabled)
  cpu (AP): APIC ID: 116 (disabled)
  cpu (AP): APIC ID: 117 (disabled)
  cpu (AP): APIC ID: 118 (disabled)
  cpu (AP): APIC ID: 119 (disabled)
  cpu (AP): APIC ID: 120 (disabled)
  cpu (AP): APIC ID: 121 (disabled)

Firstly, it should say 4 packages, so I'm not sure why its only has 3.
But then it goes on to detect all the "CPUs", but doesn't enable the
last 16.

acpidump shows all the "CPUs" as enabled (trimmed output):

  APIC: Length=1090, Revision=1, Checksum=115,
        OEMID=DELL, OEM Table ID=PE_SC3, OEM Revision=0x1,
        Creator ID=DELL, Creator Revision=0x1
        Local APIC ADDR=0xfee00000
        Flags={PC-AT}

        Type=Local APIC
        ACPI CPU=1
        Flags={ENABLED}
        APIC ID=0

        Type=Local APIC
        ACPI CPU=2
        Flags={ENABLED}
        APIC ID=32

        ...

        Type=Local APIC
        ACPI CPU=79
        Flags={ENABLED}
        APIC ID=89

        Type=Local APIC
        ACPI CPU=80
        Flags={ENABLED}
        APIC ID=121

Finally, I've booted Ubuntu 14.04 (Linux 3.13) and it correctly detects
all 80 "CPUs".

Can anyone shed any light on what's happening?

I'm running head at the moment and I'm happy to fiddle around as much as
required to debug it.

Thanks,

Tim.

-- 
Tim Bishop
http://www.bishnet.net/tim/
PGP Key: 0x6C226B37FDF38D55


Received on Fri May 23 2014 - 23:47:15 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:49 UTC