LinuxQuestions.org
Register a domain and help support LQ
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices

Reply
 
Search this Thread
Old 06-11-2013, 11:04 PM   #1
Domine
Member
 
Registered: Nov 2005
Posts: 31

Rep: Reputation: 17
Slackware-64-14 number of CPU Cores


Hi all,
i have a question. I have a machine with 4 AMD Opteron 6378 CPUs. Each CPU has 16 cores. On it there is Slackware64-14 installed. Today i found that the system sees only 32 cores. So the other 2 processors are not seen by the OS.

How can i make Slackware to recognize all the CPUs?

Maybe i get something wrong. Let me explain. At first the machine came with CentOS installed. Then when i ran htop it showed me 64 cores. Now with slackware htop shows me only 32.

From uname -a i get this:

Linux sgi 3.2.29 #2 SMP Mon Sep 17 14:19:22 CDT 2012 x86_64 AMD Opteron(tm) Processor 6378 AuthenticAMD GNU/Linux

But from lscpu command i get this:

Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 32
On-line CPU(s) list: 0-31
Thread(s) per core: 2
Core(s) per socket: 8
Socket(s): 2
Vendor ID: AuthenticAMD
CPU family: 21
Model: 2
Stepping: 0
CPU MHz: 2399.985
BogoMIPS: 4799.73
Virtualization: AMD-V
L1d cache: 16K
L1i cache: 64K
L2 cache: 2048K
L3 cache: 6144K

From cat /proc/cpuinfo i get the following:

processor : 0
vendor_id : AuthenticAMD
cpu family : 21
model : 2
model name : AMD Opteron(tm) Processor 6378
stepping : 0
microcode : 0x600081f
cpu MHz : 2399.985
cache size : 2048 KB
physical id : 0
siblings : 16
core id : 0
cpu cores : 8
apicid : 32
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
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 constant_tsc rep_good nopl nonstop_tsc extd_apicid amd_dcm aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 popcnt aes xsave avx f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 nodeid_msr tbm topoext perfctr_core arat cpb npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold
bogomips : 4799.97
TLB size : 1536 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management: ts ttp tm 100mhzsteps hwpstate [9] [10]

And so on for another 31 units.

But on the page on AMD about the processor it shows that each processor has 16 cores.

I'm confused.

Thank you for any help or hints.

Regards
D.

PS: just found some more info. In directory /sys/devices/system/cpu i found the files: kernel_max, offline and online.

kernel_max - 31
offline - 32-63
online - 0-31

So the other cores are offline. Then now the question is how to make them online?

Last edited by Domine; 06-11-2013 at 11:23 PM.
 
Old 06-11-2013, 11:13 PM   #2
EdGr
Member
 
Registered: Dec 2010
Location: California, USA
Distribution: Slackware
Posts: 108

Rep: Reputation: 22
You need to increase CONFIG_NR_CPUS in the kernel config file and rebuild the kernel.

You're probably the first person who has tried to run Slackware on more than 32 cores. My hats off to you!
Ed
 
1 members found this post helpful.
Old 06-11-2013, 11:18 PM   #3
perbh
Member
 
Registered: May 2008
Location: Republic of Texas
Posts: 241

Rep: Reputation: 38
Check the 'config'-file:
CONFIG_NR_CPUS=32

If you want to see _all_ your 64 cores, you have to change this entry and remake the kernel.
IMHO - 32 is more than sufficient in 99.9% of all cases ... but hey - we are getting there ...

Darned, EdGr beat me to it while I was checking out the config-file ... :-(

Last edited by perbh; 06-11-2013 at 11:20 PM. Reason: beaten to it
 
1 members found this post helpful.
Old 06-12-2013, 12:13 AM   #4
Domine
Member
 
Registered: Nov 2005
Posts: 31

Original Poster
Rep: Reputation: 17
Hi EdGr and perbh,

that is what i was afraid of Haven't compiled a kernel for many many years. But i need all cores. I need lots of power sometimes i use all of them for only 2 jobs and still takes a day to finish them if not more

Yeah i found the SMP kernel is restricted to 32 but i was hoping there is a way to pass that info to the kernel at boot time without recompiling.

I would appreciate a brief walk-through for the recompiling process


I mean is there a way to speed up the process. I remember it takes ages to go through all options. So i guess i can copy the config of the currently running kernel and just modify the option you mentioned. Correct?

Thank you again

Cheers
D.

Last edited by Domine; 06-12-2013 at 12:21 AM.
 
Old 06-12-2013, 01:22 AM   #5
TommyC7
Member
 
Registered: Mar 2012
Distribution: Slackware, CentOS, OpenBSD, FreeBSD
Posts: 438

Rep: Reputation: Disabled
Perhaps there's something you can set in /etc/sysctl.conf (I'm not 100% sure).
 
Old 06-12-2013, 01:43 AM   #6
Domine
Member
 
Registered: Nov 2005
Posts: 31

Original Poster
Rep: Reputation: 17
Well if its compiled into the kernel that MAX_NR_CPU is 32 then i suppose it does not matter what i pass to the kernel it will still see only 32.

Reading about kernel compilation now
 
Old 06-12-2013, 02:16 AM   #7
Celyr
Member
 
Registered: Mar 2012
Location: Italy
Distribution: Slackware+Debian
Posts: 314

Rep: Reputation: 77
Since you are rebuilding the kernel i suggest you to also update the kernel with the one that slackware-14.00 got updated (3.2.45). I don't remeber exactly but I think that 3.2.29 has some bad bug in it.

Last edited by Celyr; 06-12-2013 at 02:17 AM.
 
Old 06-12-2013, 02:43 PM   #8
perbh
Member
 
Registered: May 2008
Location: Republic of Texas
Posts: 241

Rep: Reputation: 38
from 'man sysctl':
sysctl is used to modify kernel parameters at runtime.

ie. you really (I guess) need the number of cores at boot-time - so yes, you have to make a new kernel.
The good thing is - you can just use your current 'config' (copy it to /usr/src/linux/.config), change the one entry and then run 'make' and finally copy the new kernel (bzImage) to /boot and calling it eg. vmlinuz-3.2.45 - nothing could be simpler.
Also, if you are using a 'new' kernel (eg. 3.2.45), you don't have to worry about renaming ... just make triply sure you can still boot your old kernel! (ie a seperate entry in lilo.conf or menu.lst - whichever bootloader you use)

Last edited by perbh; 06-12-2013 at 02:45 PM.
 
Old 06-12-2013, 07:16 PM   #9
rkelsen
Senior Member
 
Registered: Sep 2004
Distribution: slackware
Posts: 1,762

Rep: Reputation: 199Reputation: 199
Quote:
Originally Posted by Domine View Post
that is what i was afraid of Haven't compiled a kernel for many many years.
On your hardware, it should take less time than it takes to prepare a cup of coffee...
 
Old 06-12-2013, 08:23 PM   #10
Domine
Member
 
Registered: Nov 2005
Posts: 31

Original Poster
Rep: Reputation: 17
Hi guys,
thank you for your help. Yesterday i actually tried the following. DL the source for 3.2.29 and copied the .config and modified the MAX_NR_CPUS to 64. Then i ran make and got the bzImage.Then copied it into /boot with a different name. Then copied the System.map to /boot to match the name of my 'new' kernel. Added to lilo a new section:

# Linux bootable partition config begins
image = /boot/vmlinuz
root = /dev/sda1
label = Linux
read-only
# Linux bootable partition config ends
# Linux bootable partition config begins - Here is the modified kernel
image = /boot/vmlinuz-huge-3.2.29-64cores
root = /dev/sda1
label = Linux-64cores
read-only
# Linux bootable partition config ends

Then rebooted and got kernel panic. Im not sure if i should change the link of System.map to point to the System.map of the modified kernel.

Another thing im not sure of is if i should run make install modules. I thought not cos the modules are the same as i just compile the same kernel with a small modification.

But i suppose i can try with 3.2.45 as perbh suggested.

Thank you again

Cheers
 
Old 06-12-2013, 09:01 PM   #11
allend
Senior Member
 
Registered: Oct 2003
Location: Melbourne
Distribution: Slackware-current
Posts: 3,439

Rep: Reputation: 851Reputation: 851Reputation: 851Reputation: 851Reputation: 851Reputation: 851Reputation: 851
Did you run lilo after editing lilo.conf?
 
Old 06-12-2013, 09:20 PM   #12
Domine
Member
 
Registered: Nov 2005
Posts: 31

Original Poster
Rep: Reputation: 17
Yes i did.

Anyway now im compiling 3.2.45 and im following the AlienBob tutorial. So hopefully this will work out. Will post again after i tried the new kernel

Update: tried and again kernel panic:

No filesystem could mount root, tried: romfs
Kernel panic-not syncing:VFS:Unable to mount root fs on unknown-blok(8,1)

Last edited by Domine; 06-12-2013 at 09:48 PM.
 
Old 06-12-2013, 10:10 PM   #13
Domine
Member
 
Registered: Nov 2005
Posts: 31

Original Poster
Rep: Reputation: 17
Last update:

it works, finally

So now i run kernel 3.2.45 on Slackware64-14 on 4 CPUs with 16 cores each and 0.5TB RAM. Monster Slackware

Just had to create an initrd for the root filesystem. Well later i could just change that in the kernel and recompile it again. But i doubt so. Now it works n im happy enough.

Thank you again for the support guys!

Cheers
D.
 
Old 06-12-2013, 10:16 PM   #14
volkerdi
Slackware Maintainer
 
Registered: Dec 2002
Location: Minnesota
Distribution: Slackware! :-)
Posts: 872

Rep: Reputation: 1779Reputation: 1779Reputation: 1779Reputation: 1779Reputation: 1779Reputation: 1779Reputation: 1779Reputation: 1779Reputation: 1779Reputation: 1779Reputation: 1779
I want your machine.
 
8 members found this post helpful.
Old 06-12-2013, 10:25 PM   #15
Domine
Member
 
Registered: Nov 2005
Posts: 31

Original Poster
Rep: Reputation: 17
@ volkerdi:

Thank you for Slackware!!!


Its my choice for 10y already n i try to educate people about it so they make better choice of linux distro. But most people like to click. Well let em suffer after.

The machine is a beast yes. Now when there is Slackware on it i have the control over it.

Cheers
D.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] How to get the Number of Cores using C MarcosPauloBR Programming 10 04-14-2011 09:54 AM
[SOLVED] Need help in identifying the number of cores in each processor running srajeshkumar Linux - Server 7 12-23-2010 08:52 AM
missing number of cores in according to /proc/cpuinfo centguy Linux - Software 14 01-10-2010 09:22 PM
Find number of cores in my processor ttsdinesh Linux - Newbie 8 12-02-2009 06:16 AM
how to find number of cores in CPU narensr Linux - Hardware 5 08-24-2006 01:09 PM


All times are GMT -5. The time now is 11:09 AM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration