I am new to kernel recompilation and building kernels..

Can anyone explain difference between the kernel types smp, non-smp, huge, generic.. How can we identify the type of kernel.. How they are categorize? I am using below kernels and recompiled and loading externel modules also.. but it wasnt successful..

kernel-source-2.6.24.5_smp-noarch-2
kernel-modules-2.6.24.5
kernel-headers-2.6.24.5_smp-x86

Here the source kernel and module kernel are type of smp ? so should i use module kernel with smp type?

Please explain me.. I am confusing.. I cant find where i did mistake?

Thanks in advance