CPU core disapeared?

I’ve been running 64-bit openSUSE 11.0 on an Intel Q6600 since initial release.

Initially, all four CPU cores showed up fine, and system monitor showed all four cores being used.

Recently, I noticed that I only have 3 cores being reported! Rebooting doesn’t help, and all four cores show up if I boot into Vista.

I’m afraid that while I have a lot of Windows and a good amount SysV expertise, I’m still a bit of a novice going “under the covers” in Linux.

A few snips from my startup log that may provide some clues (I’m hoping I select useful information). Regretfully, this went on long enough that I don’t have a log from a healthy boot to compare with.

Early on in the log it looks OK:

<4>ACPI: SSDT CFEF0000, 01BC (r1 GATEWA    CpuPm      182 MSFT  1000013)
<4>ACPI: SSDT CFEEF000, 0175 (r1 GATEWA  Cpu0Ist      182 MSFT  1000013)
<4>ACPI: SSDT CFEEE000, 0175 (r1 GATEWA  Cpu1Ist      182 MSFT  1000013)
<4>ACPI: SSDT CFEED000, 0175 (r1 GATEWA  Cpu2Ist      182 MSFT  1000013)
<4>ACPI: SSDT CFEEC000, 0175 (r1 GATEWA  Cpu3Ist      182 MSFT  1000013)

Then core #1 disappears:

<7>ACPI: Local APIC address 0xfee00000
<6>ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
<6>Processor #0 (Bootup-CPU)
<6>ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] enabled)
<6>Processor #2
<6>ACPI: LAPIC (acpi_id[0x03] lapic_id[0x03] enabled)
<6>Processor #3
<6>ACPI: LAPIC (acpi_id[0x04] lapic_id[0x83] disabled)
<6>ACPI: LAPIC_NMI (acpi_id[0x01] dfl dfl lint[0x1])
<6>ACPI: LAPIC_NMI (acpi_id[0x02] dfl dfl lint[0x1])

This shows up a bit later (I have no idea what this hotplug CPU is about - I certainly have no intentions of trying to hotplug a CPU (or a core!) in my box!:

<6>SMP: Allowing 4 CPUs, 1 hotplug CPUs

The next block shows 3 cores being started, with core #1 being skipped:

*Scroll to see complete text...*

<6>CPU: L1 I cache: 32K, L1 D cache: 32K
<6>CPU: L2 cache: 4096K
<6>CPU 0/0 -> Node 0
<6>CPU: Physical Processor ID: 0
<6>CPU: Processor Core ID: 0
<6>CPU0: Thermal monitoring enabled (TM2)
<6>using mwait in idle threads.
<6>ACPI: Core revision 20070126
<6>ACPI: Checking initramfs for custom DSDT
<4>Parsing all Control Methods:
<4>Table [DSDT](id 0001) - 571 Objects with 61 Devices 147 Methods 38 Regions
<4>Parsing all Control Methods:
<4>Table [SSDT](id 0002) - 10 Objects with 0 Devices 4 Methods 0 Regions
<4>Parsing all Control Methods:
<4>Table [SSDT](id 0003) - 5 Objects with 0 Devices 3 Methods 0 Regions
<4>Parsing all Control Methods:
<4>Table [SSDT](id 0004) - 5 Objects with 0 Devices 3 Methods 0 Regions
<4>Parsing all Control Methods:
<4>Table [SSDT](id 0005) - 5 Objects with 0 Devices 3 Methods 0 Regions
<4>Parsing all Control Methods:
<4>Table [SSDT](id 0006) - 5 Objects with 0 Devices 3 Methods 0 Regions
<4> tbxface-0598 [00] tb_load_namespace     : ACPI Tables successfully acquired
<4>evxfevnt-0091 [00] enable                : Transition to ACPI mode successful
<6>Using local APIC timer interrupts.
<7>APIC timer calibration result 16649985
<6>Detected 16.649 MHz APIC timer.
<6>Booting processor 1/3 APIC 0x2
<4>Initializing CPU#1
<4>Calibrating delay using timer specific routine.. 4795.23 BogoMIPS (lpj=9590479)
<6>CPU: L1 I cache: 32K, L1 D cache: 32K
<6>CPU: L2 cache: 4096K
<6>CPU 1/2 -> Node 0
<6>CPU: Physical Processor ID: 0
<6>CPU: Processor Core ID: 2
<6>CPU1: Thermal monitoring enabled (TM2)
<4>Intel(R) Core(TM)2 Quad CPU    Q6600  @ 2.40GHz stepping 0b
<6>checking TSC synchronization [CPU#0 -> CPU#1]: passed.
<6>Booting processor 2/3 APIC 0x3
<4>Initializing CPU#2
<4>Calibrating delay using timer specific routine.. 4795.24 BogoMIPS (lpj=9590489)
<6>CPU: L1 I cache: 32K, L1 D cache: 32K
<6>CPU: L2 cache: 4096K
<6>CPU 2/3 -> Node 0
<6>CPU: Physical Processor ID: 0
<6>CPU: Processor Core ID: 3
<6>CPU2: Thermal monitoring enabled (TM2)
<4>Intel(R) Core(TM)2 Quad CPU    Q6600  @ 2.40GHz stepping 0b
<6>checking TSC synchronization [CPU#0 -> CPU#2]: passed.
<6>Brought up 3 CPUs
<7>CPU0 attaching sched-domain:
<7> domain 0: span 00000000,00000000,00000000,00000007
<7>  groups: 00000000,00000000,00000000,00000001 00000000,00000000,00000000,00000006
<7>  domain 1: span 00000000,00000000,00000000,00000007
<7>   groups: 00000000,00000000,00000000,00000007
<7>CPU1 attaching sched-domain:
<7> domain 0: span 00000000,00000000,00000000,00000006
<7>  groups: 00000000,00000000,00000000,00000002 00000000,00000000,00000000,00000004
<7>  domain 1: span 00000000,00000000,00000000,00000007
<7>   groups: 00000000,00000000,00000000,00000006 00000000,00000000,00000000,00000001
<7>   domain 2: span 00000000,00000000,00000000,00000007
<7>    groups: 00000000,00000000,00000000,00000007
<7>CPU2 attaching sched-domain:
<7> domain 0: span 00000000,00000000,00000000,00000006
<7>  groups: 00000000,00000000,00000000,00000004 00000000,00000000,00000000,00000002
<7>  domain 1: span 00000000,00000000,00000000,00000007
<7>   groups: 00000000,00000000,00000000,00000006 00000000,00000000,00000000,00000001
<7>   domain 2: span 00000000,00000000,00000000,00000007
<7>    groups: 00000000,00000000,00000000,00000007

One final thought: I’m running Sun’s xVM Virtualbox 2.0.2. Early on, when all four CPUs were showing up, I was running an older version of Virtualbox, so while possible, I don’t expect this to be the problem.

Any and all help will be greatly appreciated.

Simcha-Yitzchak Lerner