Hello, Few days ago I installed FC11 (after few months with FC9). Soon after the installation, while watching various updates being downloaded and installed, I opened the system monitor and saw 4 separate CPU graphs, one per core, just like I did under FC9 before. Few days later, after downloading "gkrellm" I noticed that I can't set it up to show 4 separate CPU graphs as I had under FC9, only one common CPU graph. Checking the system monitor I saw that now it too shows only one CPU graph (despite correctly detecting "AMD Phenom(tm) 9550 Quad-Core Processor". Playing with the "top" command "1" to switch between "Cpu(s)" statistics and per-core statistics I see that in the "per core" mode only Cpu0 statistics is shown. It looks like my system suddenly became non-SMP. I don't remember altering the kernel (yet. I need to add a SCSI driver so I'll need to recompile the kernel but I haven't read enough explanations of where to get the sources and how to recompile the whole kernel), I remember downloading gkrellm-2.3.2-2.fc11.src.rpm after precompiled binaries from gkrellm-2.3.2-2.fc11.x86_64.rpm didn't show the 4 separate CPU graphs, and I also downloaded "nedit" both as binaries and as sources and attempted to compile, got and error: nedit: error while loading shared libraries: libXp.so.6: cannot open shared object file: No such file or directory added to the LD_LIBRARY_PATH the directory: /usr/lib64 which changed the error to: nedit: error while loading shared libraries: libXp.so.6: wrong ELF class: ELFCLASS64 I also changed the shell used from bash to tcsh (in /etc/passwd, I hope it's correct), but I don't see how this may affect the non-SMP issue. Although I have 12 years of UNIX/LINUX experience at work, it had always been as a user, so I'm a novice LINUX "sysop" and probably made some stupid error somewhere. Can anyone give me some direction as to where to find the source of the sudden change of my system behavior? The output of "uname -r" is: 2.6.29.5-191.fc11.x86_64 Thank in advance for any help, Arie.
Hi falco, thanks for the reply. The output of "uname -a" is: Linux localhost.localdomain 2.6.29.5-191.fc11.x86_64 #1 SMP Tue Jun 16 23:23:21 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux and the output of "cat /proc/cpuinfo" is: processor : 0 vendor_id : AuthenticAMD cpu family : 16 model : 2 model name : AMD Phenom(tm) 9550 Quad-Core Processor stepping : 3 cpu MHz : 1100.000 cache size : 512 KB physical id : 0 siblings : 1 core id : 0 cpu cores : 1 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 5 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc up rep_good nonstop_tsc pni monitor cx16 lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs bogomips : 4414.69 TLB size : 1024 4K pages clflush size : 64 cache_alignment : 64 address sizes : 48 bits physical, 48 bits virtual power management: ts ttp tm stc 100mhzsteps hwpstate =========================================== The line "cpu cores : 1" combined with the fact there is only one section "processor : 0" seems to correspond to the non-SMP behavior of "top", "gkrellm" and "system monitor". What I don't understand is what could've change since the installation because in the beginning the above apps. displayed 4 separate cores. Can some BIOS setting disable cores 1-3? Can some installed package alter the way kernel understands the CPU architecture? TIA, Arie.
Hm, it's an SMP kernel, but it really recognizes just one CPU core... Strange. Do you know if maybe the kernel got updated? Did you change any BIOS settings?
Hi falco, Althought the "software update" had been run soon after the installation of FC11 and I think among the selected packages were some related to kernel development (I'm stil trying to recompile the kernel in order to add a SCSI HBA driver), I don't think the number of the kernel had been changed since the installation. I did change some BIOS settings related to ACPI and APIC (now I beginning to suspect APIC migh somehow affect the multi-cores detection) but I'm quite sure I returned the BIOS settings to what they wre initially. Initially both ACPI and APIC were disabled in the BIOS, I attempted to enable them, got stuck during boot, remembered that I had to use "linux noapic" in order to have the installation stating at all so I returned the APIC and ACPI to "disabled". After doing some Googling on "ACPI"/"APIC", I stumbled on a "dmesg" command, run it and the CPU-relevant lines of the output look suspicious: CPU 0/0x0 -> Node 0 tseg: 0000000000 CPU: Physical Processor ID: 0 CPU: Processor Core ID: 0 using C1E aware idle routine SMP alternatives: switching to UP code Freeing SMP alternatives: 30k freed ACPI: Core revision 20081204 ACPI: setting ELCR to 0200 (from 0c80) ftrace: converting mcount calls to 0f 1f 44 00 00 ftrace: allocating 18886 entries in 149 pages Setting APIC routing to flat weird, boot CPU (#0) not listed by the BIOS. SMP motherboard not detected. Setting APIC routing to flat SMP disabled Brought up 1 CPUs Total of 1 processors activated (4415.12 BogoMIPS). What other info can I supply to shed more light on this problem? TIA, Arie.
Hi again falco, Thanks to your hints I was able to solve the problem: after doing MANY experiments with BIOS settings (because I forgot what did I change since FC11 installation) I finally found the combination of ACPI/APIC settings that allowed the kernel to recognize the 4 cores and now the apps can see al 4 of them. What caused me to not set the correct settings was that during the FC9 installation the installation hang and after some Googling I found that the only way to proceed was to use the "noapic" switch so I assumed it should be turned off for SMP, a wrong assumption. Anyway, now the apps see all 4 cores, the BIOS settings relevant to CPU are written down in a notebook which'll be kept where I can find it and I can proceed to the next problem: recompiling the kernel to include a SCSI driver for HBA additional to the SAS HBA controlling the RAID array on which my LINUX is installed. Or maybe the regular SCSI suppors is already in the kernel? I'll need to read how can I check what drivers are in the kernel. Thanks, Arie.