How to check whether SMP is enabled or disabled in the kernel?

embedded-linux, linux-kernel

Solution

Can I assume that with the keyword SMP produced by uname -a, the kernel is configured as SMP?

Yes. The version string returned by uname is generated when kernel is compiled.

Problem

I was wondering how can I check on my running machine, whether the kernel is configured for SMP or not? Of course, I can look into the kernel `.config` file and can search for it. But, the question is let's say I don't have a source code, how will I check the SMP configuration? Is there any proc file to check it? The following says that I have no multi-cores: ``` #cat /proc/cpuinfo processor : 1 cpu model : Broadcom BMIPS5000 V1.1 FPU V0.1 BogoMIPS : 651.26 cpu MHz : 1305.018 wait instruction : yes microsecond timers : yes tlb_entries : 64 extra interrupt vector : yes hardware watchpoint : no ASEs implemented : shadow register sets : 1 kscratch registers : 0 core : 0 VCED exceptions : not available VCEI exceptions : not available ``` The output of `uname -a` says: ``` Linux 136.170.193.3 3.3.8-2.4 #2 SMP Fri Dec 13 07:11:03 EST 2013 mips GNU/Linux ``` A bit confusing here. Someone on the comments suggested me to check `uname -a` . I am not sure whether the results are reliable or not. Can I assume that with the keyword SMP produced by `uname -a`, the kernel is configured as SMP?

Original source