-   Slackware (
-   -   Difference between the hugesmp.s and huge.s kernel (

C-Sniper 05-18-2008 12:49 PM

Difference between the hugesmp.s and huge.s kernel
What is the difference between the two kernels. The reason i am asking is because i generally like to compile my own kernels later on and in the past have had some problems with the hugesmp.s kernel that i have not had with the huge.s . Is there really any benefit to the hugesmp over the huge kernel if i am using a single core processor?


willysr 05-18-2008 12:56 PM

the difference is only the SMP support
even if you have single processor, using SMP will do just fine

C-Sniper 05-18-2008 12:59 PM

OK but if i were to remove the SMP support when i recompile the kernel (i strip them down to only the things i need) will i get errors regarding it? (this has happened in the past with 12.0)

saulgoode 05-18-2008 07:06 PM

If it is any consolation, I have recompiled my SW 12.1 kernel without SMP for my single-core machine and have encountered no problems. I have, of course, kept the original kernels available in case I need them; and would add that I have only been using my custom kernel for a couple of weeks.

davimint 05-18-2008 09:00 PM

Just in case you missed this from the Changes & Hints text. I use the generic-smp kernel on two older non-smp and my smp machines with no problems. I never did like the huge because I always had the kobject errors and the initrd is eazy to build.

From Slackware 12.1

As stated earlier, it is recommended that you use one of the generic kernels rather than the huge kernels; the huge kernels are primarily intended as "installer" and "emergency" kernels in case you forget to make an initrd. For most systems, you should use the generic SMP kernel if it will run, even if your system is not SMP-capable. Some newer hardware needs the local APIC enabled in the SMP kernel, and theoretically there should not be a performance penalty with using the SMP-capable kernel on a uniprocessor machine, as the SMP kernel tests for this and makes necessary adjustments. Furthermore, the kernel sources shipped with Slackware are configured for SMP usage, so you won't have to modify those to build external modules (such as NVidia or ATI proprietary drivers) if you use the SMP kernel.

If you decide to use one of the non-SMP kernels, you will need to follow the instructions in /extra/linux- to modify your kernel sources for non-SMP usage. Note that this only applies if you are using the Slackware-provided non-SMP kernel - if you build a custom kernel, the symlinks at /lib/modules/$(uname -r)/{build,source} will point to the correct kernel source so long as you don't (re)move it.

If you decide to use one of the huge kernels anyway, you will encounter errors like this: Kobject_add failed for uhci_hcd with -EEXIST, don't try to register These occur because the respective drivers are compiled statically into the huge kernels but udev tries to load them anyway. These errors should be safe to ignore, but if you really don't want them to appear, you can blacklist the modules that try to load in /etc/modprobe.d/blacklist. However, make sure you remove them from the blacklist if you ever decide to use the (recommended) generic kernels.

C-Sniper 05-18-2008 09:06 PM

I understand that it can be used on the older single core processors, it was just something that i had come across that i was wondering about. And as i see in the last line of the 2nd paragraph, it wont matter as i custom build my kernels and new kernels.

Thanks for the clearing up though.

davimint 05-18-2008 10:19 PM


Wasn't sure which config you were speaking of in your second post since you had some problems. Thats the reason I posted the changes & hints. It was mostly because the Huge/Huge-smp was never designed for everyday use. The Generic/Generic-smp are the kernels for daily use because they are modular designed and require a initrd. I thought you may have used the config-huge instead of the config-generic since you had some problems.

I guess I should have made myself clear.

Have fun kernel building.


All times are GMT -5. The time now is 12:55 AM.