Multi Core | CPU AMD system -- Only 1 gets used

I am running an 11.2 SuSE Linux system. I had to upgrade it from a dual core AMD CPU/MOBO (thank you ERCOT – if you are from TX USA you will understand).

Ok, first problem was the replacement Video card (GeFarce 8400 GS) failed, and the 7200 GS worked just fine.

Got the thing booted and VMware back up and running. Got the hard drives restored.

But I noticed that something was just not right. So I checked various things and it seems that I am only running on 1 core. I have gone into the BIOS and enabled all 6 cores, and I have set MAXCPUS=4 and cat /proc/cpuinfo shows that I am only running one core.

What do I need to do to this system to get it to run multiple “CPUs”?

I would like to “assign” 2 CPUs to VMware so that W/XP will have a bit better performance.

I have run yast looking for a different kernel, for anything to control the CPUs, and no joy.

Regards
Wylbur

Just so I understand this: you are having problems with multiple core on the VMWare Guest machines, not on the Host, correct?

How do you really know you’re running on only one core?

The easiest way to observe which core a process is running on is to install and run htop (You can do it with top as well with some extra configuration but IMO just running htop is easier and in the long run may be beneficial).

HTH,
Tony

That does not help us to help you. We need facts, not interpretations. One way to provide some facts would be giving us the output of

cat /proc/cpuinfo
  1. “Just so I understand this: you are having problems with multiple core on the VMWare Guest machines, not on the Host, correct?”

I wish to set VMware to use 2 CPUs. Can’t do that if there is only one being used by the system.

  1. How do you really know you’re running on only one core?

I think I mentioned having run: cat /proc/cpuinfo . And I also use “System Monitor”.

  1. “That does not help us to help you. We need facts, not interpretations. One way to provide some facts would be giving us the output of”

You gets what you gets. “and cat /proc/cpuinfo shows that I am only running one core.” I can read. However, also doing support on mainframes, yes, you do get some dunderheads. But, if I knew enough to discuss cat /proc/cpuinfo, and setting maxcpus at loader time (in my case GRUB), I’m probably not in the “dunderhead, can’t believe anything they say” group.

A bit of history:

I have run different versions of SuSE and when running 10.3 through 11.1, the monitor I use tracks each CPU on a moving graph, each CPU having a different color. System Monitor is only tracking 1 CPU. I mentioned mainframes. I do system level code. I am use to controlling the CPUs that the hardware supplies. So, I probably understand what I’m reading. And near as I can tell, the ONLY CPU being used is 0, not 1, 2, 3, 4, or 5 – numbers are relative to zero). Given that, I have also looked at top. I thought (but honestly don’t remember) that it would indicate if there were more than one CPU.

But again, this MOBO, and CPU are new. The AMD CPU I was using was a dual core, and when I check on that system (11.2) it showed 2 CPUs.

So is there something about a “6 core” CPU that will require special code/module/kernel?

Your VMWare references are confusing the issue: 1) is your host machine (the bare metal box) a Linux machine? 2) If so, is that machine not recognizing your multiple cores?

The HOST SCP (System Control Program) is Linux. It seems to only be able to see/handle CPU 0. VMware is so that I can run W/XP as a guest.

You did cause me to think about something. In testing 11.1, for RAID, I believe the 64bit systems had an install problem that the 32bit systems did not. This is a 64 bit system with 8GB of RAM.

In using Google and searching the Novell forums, I did not see any specific mention of a “multi-core”/“multi-CPU” problem. Perhaps I should check a few other distros.

Later,
Wylbur

Alright - so I understand now that you have a bare metal system that’s running openSUSE and somehow doesn’t recognize your CPU count. This is something I have never heard of and you’re going to have to help us help you. As per @gropiuskalle: post the output of “cat /proc/cpuinfo” back to this forum. Also, post the output of “uname -a” as well. Maybe there’s something we can find for you.

On 02/23/2011 11:36 PM, wylbur wrote:
>
> The HOST SCP (System Control Program) is Linux. It seems to only be able
> to see/handle CPU 0. VMware is so that I can run W/XP as a guest.
>
> You did cause me to think about something. In testing 11.1, for RAID, I
> believe the 64bit systems had an install problem that the 32bit systems
> did not. This is a 64 bit system with 8GB of RAM.
>
> In using Google and searching the Novell forums, I did not see any
> specific mention of a “multi-core”/“multi-CPU” problem. Perhaps I should
> check a few other distros.

The default MAX CPUs for an openSUSE kernel is 32, thus you should have no
problem with 6.

Have you looked at the dmesg output? Perhaps some condition is encountered due
to a faulty BIOS or a chip set that the code cannot handle.

Linux OSPJOAN 2.6.31.14-0.6-desktop #1 SMP PREEMPT 2010-12-10 11:18:32 +0100 x86_64 x86_64 x86_64 GNU/Linux

processor : 0
vendor_id : AuthenticAMD
cpu family : 16
model : 5
model name : AMD Athlon™ II X4 640 Processor
stepping : 3
cpu MHz : 800.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 sep 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 extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt
bogomips : 6982.23
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

0.000000] Linux version 2.6.31.14-0.6-desktop (geeko@buildhost) (gcc version 4.4.1 [gcc-4_4-branch revision 150839] (SUSE Linux) ) #1 SMP PREEMPT 2010-12-10 11:18:32 +0100
0.000000] Command line: root=/dev/disk/by-id/ata-ST3500418AS_5VMP683T-part1 resume=/dev/disk/by-id/ata-ST3500418AS_5VMP683T-part2 splash=silent quiet maxcpus=4 vga=0x317
0.000000] KERNEL supported cpus:
0.000000]   Intel GenuineIntel
0.000000]   AMD AuthenticAMD
0.000000]   Centaur CentaurHauls
0.000000] BIOS-provided physical RAM map:
0.000000]  BIOS-e820: 0000000000000000 - 000000000009ac00 (usable)
0.000000]  BIOS-e820: 000000000009ac00 - 00000000000a0000 (reserved)
0.000000]  BIOS-e820: 00000000000e4000 - 0000000000100000 (reserved)
0.000000]  BIOS-e820: 0000000000100000 - 00000000b7e90000 (usable)
0.000000]  BIOS-e820: 00000000b7e90000 - 00000000b7ea8000 (ACPI data)
0.000000]  BIOS-e820: 00000000b7ea8000 - 00000000b7ed0000 (ACPI NVS)
0.000000]  BIOS-e820: 00000000b7ed0000 - 00000000b7f00000 (reserved)
0.000000]  BIOS-e820: 00000000fff00000 - 0000000100000000 (reserved)
0.000000]  BIOS-e820: 0000000100000000 - 0000000248000000 (usable)
0.000000] DMI present.
0.000000] AMI BIOS detected: BIOS may corrupt low RAM, working around it.
0.000000] e820 update range: 0000000000000000 - 0000000000010000 (usable) ==> (reserved)
0.000000] last_pfn = 0x248000 max_arch_pfn = 0x400000000
0.000000] MTRR default type: uncachable
0.000000] MTRR fixed ranges enabled:
0.000000]   00000-9FFFF write-back
0.000000]   A0000-EFFFF uncachable
0.000000]   F0000-FFFFF write-protect
0.000000] MTRR variable ranges enabled:
0.000000]   0 base 000000000000 mask FFFF80000000 write-back
0.000000]   1 base 000080000000 mask FFFFE0000000 write-back
0.000000]   2 base 0000A0000000 mask FFFFF0000000 write-back
0.000000]   3 base 0000B0000000 mask FFFFF8000000 write-back
0.000000]   4 disabled
0.000000]   5 disabled
0.000000]   6 disabled
0.000000]   7 disabled
0.000000] TOM2: 0000000248000000 aka 9344M
0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
0.000000] e820 update range: 00000000b8000000 - 0000000100000000 (usable) ==> (reserved)
0.000000] last_pfn = 0xb7e90 max_arch_pfn = 0x400000000
0.000000] Scanning 0 areas for low memory corruption
0.000000] modified physical RAM map:
0.000000]  modified: 0000000000000000 - 0000000000010000 (reserved)
0.000000]  modified: 0000000000010000 - 000000000009ac00 (usable)
0.000000]  modified: 000000000009ac00 - 00000000000a0000 (reserved)
0.000000]  modified: 00000000000e4000 - 0000000000100000 (reserved)
0.000000]  modified: 0000000000100000 - 00000000b7e90000 (usable)
0.000000]  modified: 00000000b7e90000 - 00000000b7ea8000 (ACPI data)
0.000000]  modified: 00000000b7ea8000 - 00000000b7ed0000 (ACPI NVS)
0.000000]  modified: 00000000b7ed0000 - 00000000b7f00000 (reserved)
0.000000]  modified: 00000000fff00000 - 0000000100000000 (reserved)
0.000000]  modified: 0000000100000000 - 0000000248000000 (usable)
0.000000] initial memory mapped : 0 - 20000000
0.000000] Using GB pages for direct mapping
0.000000] init_memory_mapping: 0000000000000000-00000000b7e90000
0.000000]  0000000000 - 0080000000 page 1G
0.000000]  0080000000 - 00b7e00000 page 2M
0.000000]  00b7e00000 - 00b7e90000 page 4k
0.000000] kernel direct mapping tables up to b7e90000 @ 10000-13000
0.000000] init_memory_mapping: 0000000100000000-0000000248000000
0.000000]  0100000000 - 0240000000 page 1G
0.000000]  0240000000 - 0248000000 page 2M
0.000000] kernel direct mapping tables up to 248000000 @ 12000-14000
0.000000] RAMDISK: 379ab000 - 37fef275
0.000000] ACPI: RSDP 00000000000fbad0 00014 (v00 ACPIAM)
0.000000] ACPI: RSDT 00000000b7e90000 0003C (v01 082410 RSDT1853 20100824 MSFT 00000097)
0.000000] ACPI: FACP 00000000b7e90200 00084 (v01 082410 FACP1853 20100824 MSFT 00000097)
0.000000] ACPI: DSDT 00000000b7e90450 0EA0C (v01  A1629 A1629000 00000000 INTL 20060113)
0.000000] ACPI: FACS 00000000b7ea8000 00040
0.000000] ACPI: MCFG 00000000b7e90410 0003C (v01 082410 OEMMCFG  20100824 MSFT 00000097)
0.000000] ACPI: OEMB 00000000b7ea8040 00072 (v01 082410 OEMB1853 20100824 MSFT 00000097)
0.000000] ACPI: SRAT 00000000b7e9f8a0 000E8 (v01 AMD    FAM_F_10 00000002 AMD  00000001)
0.000000] ACPI: HPET 00000000b7e9f990 00038 (v01 082410 OEMHPET  20100824 MSFT 00000097)
0.000000] ACPI: SSDT 00000000b7e9f9d0 0088C (v01 A M I  POWERNOW 00000001 AMD  00000001)
0.000000] SRAT: PXM 0 -> APIC 0 -> Node 0
0.000000] SRAT: PXM 0 -> APIC 1 -> Node 0
0.000000] SRAT: PXM 0 -> APIC 2 -> Node 0
0.000000] SRAT: PXM 0 -> APIC 3 -> Node 0
0.000000] SRAT: Node 0 PXM 0 0-a0000
0.000000] SRAT: Node 0 PXM 0 100000-b8000000
0.000000] SRAT: Node 0 PXM 0 100000000-248000000
0.000000] NUMA: Allocated memnodemap from 13000 - 17940
0.000000] NUMA: Using 20 for the hash shift.
0.000000] Bootmem setup node 0 0000000000000000-0000000248000000
0.000000]   NODE_DATA [0000000000017940 - 000000000002f93f]
0.000000]   bootmap [0000000000030000 -  0000000000078fff] pages 49
0.000000] (9 early reservations) ==> bootmem [0000000000 - 0248000000]
0.000000]   #0 [0000000000 - 0000001000]   BIOS data page ==> [0000000000 - 0000001000]
0.000000]   #1 [0000006000 - 0000008000]       TRAMPOLINE ==> [0000006000 - 0000008000]
0.000000]   #2 [0001000000 - 0001c4df70]    TEXT DATA BSS ==> [0001000000 - 0001c4df70]
0.000000]   #3 [00379ab000 - 0037fef275]          RAMDISK ==> [00379ab000 - 0037fef275]
0.000000]   #4 [000009ac00 - 0000100000]    BIOS reserved ==> [000009ac00 - 0000100000]
0.000000]   #5 [0001c4e000 - 0001c4e329]              BRK ==> [0001c4e000 - 0001c4e329]
0.000000]   #6 [0000010000 - 0000012000]          PGTABLE ==> [0000010000 - 0000012000]
0.000000]   #7 [0000012000 - 0000013000]          PGTABLE ==> [0000012000 - 0000013000]
0.000000]   #8 [0000013000 - 0000017940]       MEMNODEMAP ==> [0000013000 - 0000017940]
0.000000] found SMP MP-table at [ffff8800000ff780] ff780
0.000000]  [ffffea0000000000-ffffea0007ffffff] PMD -> [ffff880001e00000-ffff880008ffffff] on node 0
0.000000] Zone PFN ranges:
0.000000]   DMA      0x00000010 -> 0x00001000
0.000000]   DMA32    0x00001000 -> 0x00100000
0.000000]   Normal   0x00100000 -> 0x00248000
0.000000] Movable zone start PFN for each node
0.000000] early_node_map[3] active PFN ranges
0.000000]     0: 0x00000010 -> 0x0000009a
0.000000]     0: 0x00000100 -> 0x000b7e90
0.000000]     0: 0x00100000 -> 0x00248000
0.000000] On node 0 totalpages: 2096666
0.000000]   DMA zone: 56 pages used for memmap
0.000000]   DMA zone: 111 pages reserved
0.000000]   DMA zone: 3811 pages, LIFO batch:0
0.000000]   DMA32 zone: 14280 pages used for memmap
0.000000]   DMA32 zone: 734920 pages, LIFO batch:31
0.000000]   Normal zone: 18368 pages used for memmap
0.000000]   Normal zone: 1325120 pages, LIFO batch:31
0.000000] ACPI: PM-Timer IO Port: 0x808
0.000000] ACPI: No APIC-table, disabling MPS
0.000000] ACPI: HPET id: 0x8300 base: 0xfed00000
0.000000] SMP: Allowing 1 CPUs, 0 hotplug CPUs
0.000000] nr_irqs_gsi: 16

The answer to my question is, there is a BIOS setting that needed to be changed. And in this case, it was in the <Power> tab. I set ACPI APIC support to ENABLED and then I set ACPI 2.0 Support to ENABLED.

Now top shows 4 CPUs, System Monitor shows 4 CPUS.

So, now I can go reset to a max of 6 and reboot and see if I can cut the boot time even further (I went from 2 minutes to ~50 seconds by picking up the other 3 CPUs).

Later,
Wylbur

So much for that idea. It will only pickup 4 of the 6 CPUs. So I guess this is resolved for now.

Later,
Wylbur

Hi
Are you sure you have a X6 device?


model name : AMD Athlon(tm) II X4 640 Processor

Do you have a device part number? Does the MB support X6 devices?

I found the box and re-read what it has. This is a 4 core only CPU. The motherboard supports up to 6 cores.

So, mysteries solved.

  1. I can read top output, and such.

  2. I actually do know what it means.

  3. I need to get reading glasses that let me read poorly printed 8 point font in the MOBO manual so I can see where you set certain things.

And now wife is ecstatic that her workstation runs very fast. And she now understands why we need the file server that I’m resurrecting, so that we have tape backup once again.

Later,
Wylbur