I am fairly new to Linux but I was fairly good with unix 10 years ago. I am assuming that the kernel with the SMP tag is for HW with multiple processors?
If so then the question is will that SMP kernel be well behaved on a Single processor hardware? I would expect it to be well behaved but PC hardware sometimes surprises me.
On 12/3/05, Tony Foster tony_foster@surewest.net wrote:
I am fairly new to Linux but I was fairly good with unix 10 years ago. I am assuming that the kernel with the SMP tag is for HW with multiple processors?
If so then the question is will that SMP kernel be well behaved on a Single processor hardware? I would expect it to be well behaved but PC hardware sometimes surprises me.
Yes, if you are using a hyperthread enabled P4.
Tony Foster wrote:
I am fairly new to Linux but I was fairly good with unix 10 years ago. I am assuming that the kernel with the SMP tag is for HW with multiple processors?
If so then the question is will that SMP kernel be well behaved on a Single processor hardware? I would expect it to be well behaved but PC hardware sometimes surprises me.
Kam Leo wrote:
Yes, if you are using a hyperthread enabled P4.
I think that's slightly misleading.
A hyperthreading Pentium 4 or Xeon "looks" to software like two processors, and usually performs slightly better when used as two processors rather than when used as one (ie when hyperthreading isn't used). So a hyperthreading processor *needs* an SMP kernel to get that extra performance.
On the other hand, Windows XP will expect to use both "virtual" processors in SMP mode, so hardware aimed for such systems should at least be able to run Windows in SMP mode. And, of course, any hardware aimed at servers would be expected to work in SMP mode.
The various ranges of dual core processors also need SMP kernels, and the performance increase you can get is a lot more.
As other posters have said, Tony is right: SMP kernels *should* work on single processor systems, but PC hardware is not always well behaved.
James.
On Sat, Dec 03, 2005 at 11:39:04PM -0800, Tony Foster wrote:
I am fairly new to Linux but I was fairly good with unix 10 years ago. I am assuming that the kernel with the SMP tag is for HW with multiple processors?
correct.
If so then the question is will that SMP kernel be well behaved on a Single processor hardware?
Mostly. There are some systems (especially laptops) that will lock up very early on in boot. Of those that do boot successfully, some CPUs pay more of a cost than others when it comes to running spinlocks and similar locked operations.
Dave
On Sunday 04 December 2005 02:39, Tony Foster wrote:
I am fairly new to Linux but I was fairly good with unix 10 years ago. I am assuming that the kernel with the SMP tag is for HW with multiple processors?
yes.
If so then the question is will that SMP kernel be well behaved on a Single processor hardware? I would expect it to be well behaved but PC hardware sometimes surprises me.
Not always. Laptops, older systems and unfortunately quite a few ultra cheap crappy-edition PCs (read "corporate desktops") will give you issues. Many of them will simply crash when booting while others show all kinds of random issues. ACPI implementations are still horrible these days (especially if you have HPQ equipment watch out) and that often shows up in weird ways. Slow IDE transfers, unable to detect BroadCom Xtreme gigabit network cards and so on are all results of running SMP kernels on hardware that doesn't deal with it well. The noapic kernel option helps here often.
Also, even if it works, you're going to have some performance impact. How much depends on your hardware config as well as the types of programs you run.
Usually the performance aspect doesn't really matter - but using the apropriate kernel for your hardware keeps you from having all kinds of weird problems later.
Peter.