LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices


Reply
  Search this Thread
Old 06-29-2009, 01:49 AM   #1
masenko703
Member
 
Registered: May 2003
Posts: 33

Rep: Reputation: 15
Kernel question


Hi everyone,
Newb question....

Whats the difference between smp, pae, and hugemem kernels??

Thanks.
 
Old 06-29-2009, 02:05 AM   #2
jdkaye
LQ Guru
 
Registered: Dec 2008
Location: Westgate-on-Sea, Kent, UK
Distribution: Debian Testing Amd64
Posts: 5,464

Rep: Reputation: Disabled
Google is your friend. For example:
http://en.wikipedia.org/wiki/Symmetric_multiprocessing
You can easily find the other types you mention if you do a search for them.
cheers,
jdk
 
Old 06-29-2009, 07:20 AM   #3
onebuck
Moderator
 
Registered: Jan 2005
Location: Midwest USA, Central Illinois
Distribution: SlackwareŽ
Posts: 12,770
Blog Entries: 27

Rep: Reputation: 2083Reputation: 2083Reputation: 2083Reputation: 2083Reputation: 2083Reputation: 2083Reputation: 2083Reputation: 2083Reputation: 2083Reputation: 2083Reputation: 2083
Hi,

Google is not the only place to search. Do a LQ search as this subject has been covered.
 
Old 06-29-2009, 08:19 AM   #4
johnsfine
LQ Guru
 
Registered: Dec 2007
Distribution: Centos
Posts: 5,286

Rep: Reputation: 1190Reputation: 1190Reputation: 1190Reputation: 1190Reputation: 1190Reputation: 1190Reputation: 1190Reputation: 1190Reputation: 1190
Quote:
Originally Posted by masenko703 View Post
Whats the difference between smp, pae, and hugemem kernels??
SMP means Symmetric Multiprocessing. It is the common (maybe only, I'm not sure) form of Multiprocessing used in Linux. It is used for multiple physical CPUs on one motherboard and/or multiple cores in one cpu and/or hyperthreading. It has so little overhead, that distributions tend to build only SMP versions of the kernel and use them even for single processor systems.

SMP is independent of the memory issues covered by PAE and Hugemem, so in theory a PAE kernel could be SMP or non SMP but in practice almost all kernels are SMP. If a distribution calls their kernels "SMP", "PAE" and "Hugemem" you can be confident that all three are "SMP" and the last two are both "PAE".

PAE is a hardware feature that allows physical addressing to be 36 bits in 32 bit mode, so a system can physically address up to 64GB instead of just 4GB. 4GB of physical addressing supports only about 3.5GB of actual ram, so to use a full 4GB of ram you need more than 4GB of physical addressing, which means you need PAE.

The software support in the kernel for the hardware PAE feature may also be called "PAE". But that naming is not consistent. If your distribution has a kernel named "PAE" I'm sure that includes support for hardware PAE, but it may also include other differences from the non "PAE" version of the kernel, and some other distribution might have an entirely different name for the kernel that has support for hardware PAE.

I have read many contradictory and confusing things about the meaning of "Hugemem". The clearest (but I don't know if it is still valid) explanation is in the discussion of hugemem in this page:
http://www.redhat.com/docs/manuals/e...-notes/ws-x86/

The hardware PAE feature allows use of 36 bit physical addresses, which could support up to 64GB of ram. But it doesn't change the limit of 4GB total virtual memory for the kernel plus any one process. That is normally split as 3GB for the process and 1GB for the kernel.

If you have a lot of RAM, the kernel data structures probably won't fit in 1GB of virtual memory. So you can address 64GB but you can't effectively use it.

There is a kernel option that splits user mode addressing from kernel mode addressing, so they each get 4GB of virtual space rather than splitting a single 4GB. The above page associates the word "Hugemem" with that option.

If you have very high physical and/or virtual memory requirements, way beyond where it would make more sense to switch to a 64 bit kernel, but you have some sufficient reason not to switch to a 64 bit kernel, this split addressing choice in a 32 bit kernel may be an acceptable compromise, but it has a lot of drawbacks and shouldn't be selected without seriously considering the alternatives.

Last edited by johnsfine; 06-29-2009 at 08:24 AM.
 
Old 06-29-2009, 06:56 PM   #5
masenko703
Member
 
Registered: May 2003
Posts: 33

Original Poster
Rep: Reputation: 15
Thank you all for the info!!! I really appreciate it!!!
 
  


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
kernel module question for kernel build davimint Slackware 2 09-22-2006 07:03 PM
Kernel question: difference between Patch and "regular" kernel source kopikat Linux - Software 1 01-26-2005 05:24 PM
Broad question: Is kernel 2.6.9 really stable? What is the best 2.6.x kernel? jtp51 Slackware 16 10-27-2004 12:29 PM
Kernel question (about kernel patches) alekoos Linux - Newbie 1 04-29-2004 11:33 AM
Lilo/kernel question & font question phek Linux - General 9 09-18-2001 12:20 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie

All times are GMT -5. The time now is 04:24 AM.

Main Menu
Advertisement
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
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration