SMP/UP kernel S01E02

Dmitri Nikulin dnikulin at
Fri Mar 23 18:29:35 PDT 2007

On 3/24/07, Gergo Szakal <bastyaelvtars at> wrote:
Well, I've been thinking of the SMP/UP issue many times, and the best solution would be if SMP kernels could boot on UP machines. I have plenty UP boxes and a few SMP boxes to test on. I am not claiming anyhing, this is just 'food for thought'.
Don't they? I thought the only problem for most cases is that the SMP
kernels do more heavyweight locking and are therefore slower, and
without the gain of parallelism on UP it's a pure loss.
There are patches for Linux (which make it into e.g. Ubuntu's kernels)
which allow the kernel to patch itself at boot time to be UP or SMP to
suit the host machine. This means it can degenerate into a UP kernel
on a UP machine or keep its SMP kit on SMP machines. It's not elegant
by any stretch of the imagination, but it is certainly a faster
solution than e.g. doing conditionals all over the place, if that
could even work at all.
FreeBSD's temporary solution is to ship both kernels on the
installation CD, run the install in UP mode, and allow the user to
choose what kernel to install, default of UP. It's unsuitable for
complete noobcakes who don't even know what their system is, but then
BSD never was a noobcake platform. Those users are lucky they no
longer have to build the kernels themselves just to get SMP.
I gather the default will switch to SMP sooner or later. There are
very few CPUs out there now that aren't dual core or hyperthreaded.
Dmitri Nikulin
Centre for Synchrotron Science
Monash University
Victoria 3800, Australia

More information about the Kernel mailing list