Description of problem: Installed Fedora 25 on an older desktop PC (an i5-750) a week ago, and wondered why it's been feeling sluggish in use. It turns out the kernel is misdetecting the number of cpu cores, thinking there's only one. (!) **************************************** $ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 30 model name : Intel(R) Core(TM) i5 CPU 750 @ 2.67GHz stepping : 5 microcode : 0x7 cpu MHz : 2675.106 cache size : 8192 KB physical id : 0 siblings : 1 core id : 0 cpu cores : 1 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 11 wp : yes flags : 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 ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm tpr_shadow vnmi flexpriority ept vpid dtherm ida bugs : bogomips : 5350.21 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: **************************************** dmidecode sees the correct core count: **************************************** $ sudo dmidecode Getting SMBIOS data from sysfs. SMBIOS 2.6 present. 68 structures occupying 2479 bytes. Table at 0x000F0710. [ non-cpu stuff snipped ] Handle 0x0004, DMI type 4, 42 bytes Processor Information Socket Designation: LGA1156 Type: Central Processor Family: Core i5 Manufacturer: Intel ID: E5 06 01 00 FF FB EB BF Signature: Type 0, Family 6, Model 30, Stepping 5 Flags: FPU (Floating-point unit on-chip) VME (Virtual mode extension) DE (Debugging extension) PSE (Page size extension) TSC (Time stamp counter) MSR (Model specific registers) PAE (Physical address extension) MCE (Machine check exception) CX8 (CMPXCHG8 instruction supported) APIC (On-chip APIC hardware supported) SEP (Fast system call) MTRR (Memory type range registers) PGE (Page global enable) MCA (Machine check architecture) CMOV (Conditional move instruction supported) PAT (Page attribute table) PSE-36 (36-bit page size extension) CLFSH (CLFLUSH instruction supported) DS (Debug store) ACPI (ACPI supported) MMX (MMX technology supported) FXSR (FXSAVE and FXSTOR instructions supported) SSE (Streaming SIMD extensions) SSE2 (Streaming SIMD extensions 2) SS (Self-snoop) HTT (Multi-threading) TM (Thermal monitor supported) PBE (Pending break enabled) Version: Intel(R) Core(TM) i5 CPU 750 @ 2.67GHz Voltage: 1.0 V External Clock: 133 MHz Max Speed: 3800 MHz Current Speed: 2666 MHz Status: Populated, Enabled Upgrade: Other L1 Cache Handle: 0x0005 L2 Cache Handle: 0x0006 L3 Cache Handle: 0x0007 Serial Number: To Be Filled By O.E.M. Asset Tag: To Be Filled By O.E.M. Part Number: To Be Filled By O.E.M. Core Count: 4 Core Enabled: 4 Thread Count: 4 Characteristics: 64-bit capable [ non-cpu stuff snipped ] **************************************** Looking through dmesg... yep, seems to only be seeing one: **************************************** $ dmesg| grep -i cpu [ 0.000000] ACPI: SSDT 0x00000000DFE89760 000363 (v01 DpgPmm CpuPm 00000012 INTL 20060113) [ 0.000000] smpboot: Boot CPU (id 0) not listed by BIOS [ 0.000000] smpboot: Allowing 1 CPUs, 0 hotplug CPUs [ 0.000000] setup_percpu: NR_CPUS:8192 nr_cpumask_bits:1 nr_cpu_ids:1 nr_node_ids:1 [ 0.000000] percpu: Embedded 36 pages/cpu @ffff9ea75fc00000 s108888 r8192 d30376 u2097152 [ 0.000000] pcpu-alloc: s108888 r8192 d30376 u2097152 alloc=1*2097152 [ 0.000000] pcpu-alloc: [0] 0 [ 0.000000] WARNING: CPU: 0 PID: 0 at drivers/iommu/dmar.c:843 warn_invalid_dmar.part.9+0x69/0x80 [ 0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 4.11.6-201.fc25.x86_64 #1 [ 0.000000] start_cpu+0x14/0x14 [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] RCU restricting CPUs from NR_CPUS=8192 to nr_cpu_ids=1. [ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=64, nr_cpu_ids=1 [ 0.000000] Offload RCU callbacks from all CPUs [ 0.000000] Offload RCU callbacks from CPUs: 0. [ 0.013698] CPU: Physical Processor ID: 0 [ 0.013699] CPU: Processor Core ID: 0 [ 0.013703] mce: CPU supports 9 MCE banks [ 0.013709] CPU0: Thermal monitoring enabled (TM1) [ 0.030000] core: CPU erratum AAJ80 worked around [ 0.030000] core: CPUID marked event: 'bus cycles' unavailable [ 0.030000] smp: Bringing up secondary CPUs ... [ 0.030000] smp: Brought up 1 node, 1 CPU [ 0.131243] NMI watchdog: enabled on all CPUs, permanently consumes one hw-PMU counter. [ 0.134270] cpuidle: using governor menu [ 0.161819] HPET: 8 timers in total, 1 timers will be used for per-cpu timer [ 3.375504] [drm] GART: num cpu pages 262144, num gpu pages 262144 [ 3.385789] radeon 0000:01:00.0: fence driver on ring 0 use gpu addr 0x0000000010000c00 and cpu addr 0xffff9ea750b97c00 [ 3.385791] radeon 0000:01:00.0: fence driver on ring 3 use gpu addr 0x0000000010000c0c and cpu addr 0xffff9ea750b97c0c [ 3.386144] radeon 0000:01:00.0: fence driver on ring 5 use gpu addr 0x000000000005c598 and cpu addr 0xffffb7e10141c598 **************************************** Version-Release number of selected component (if applicable): How reproducible: 100% of the time. Steps to Reproduce: 1. Install Fedora 25, update to latest packages with dnf. 2. Problem as above.
Forgot to mention... the obvious step after the above was to look in the BIOS settings. Everything in there was set to auto and it definitely as "ALL" cores enabled (from the BIOS point of view).
Also: $ sudo lshw -class cpu *-cpu description: CPU product: Intel(R) Core(TM) i5 CPU 750 @ 2.67GHz vendor: Intel Corp. physical id: 4 bus info: cpu@0 version: Intel(R) Core(TM) i5 CPU 750 @ 2.67GHz serial: To Be Filled By O.E.M. slot: LGA1156 size: 2666MHz capacity: 3800MHz width: 64 bits clock: 133MHz capabilities: x86-64 fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm tpr_shadow vnmi flexpriority ept vpid dtherm ida configuration: cores=4 enabledcores=4 threads=4
Meh, ignore this. Looks like an ACPI problem. Adding "acpi=off" to the kernel params lets them be seen.