SMP has worked great for me in the lab, and that is all the way up to 8 x86 processors, or 4 ia64 procs. All under Linux 2.2 or 2.4 kernels.

I haven't worked with Hyperthreading under Linux yet, so I don't know how much of an issue it is. I do know on the windows side preformace can take a hit if there are multiple physical processors all with hyperthreading, because the OS dosen't know what processor is real and what is virtual.