My wish list for 6.1
rwatson at FreeBSD.org
Fri Dec 30 23:12:29 PST 2005
On Fri, 16 Dec 2005, Avleen Vig wrote:
> On Fri, Dec 16, 2005 at 10:40:22AM -0500, Martin Cracauer wrote:
>>> 2. SMP kernels for install. Right now we only install a UP kernel, for
>>> performance reasons. We should be able to package both a UP and SMP
>>> kernel into the release bits, and have sysinstall install both. It
>>> should also select the correct one for the target system and make that
>>> the default on boot.
>> If people are concerned about performance, I benchmarked a 6-beta kernel
>> SMP versus UP on a socket 939 Opteron.
> If those results are accurate, there's no real reason not to just use an SMP
> kernel on default install?
This is an old thread that I'm just catching up on, but I figured I'd chime in
anyway: you have to be really careful benchmarking across CPU types and
configurations, as the performance characteristics of important insturctions
differ a lot across hardware variations. For example, the performance of
atomic operations, used to synchronize between CPUs, varies significantly by
CP, bus configuration, etc. On modern opteron hardware, the performance of
inter-CPU synchronization instructions is blindingly fast. On modern Xeon P4
hardware, it is incredibly slow. Software optimized for the Opteron will
often perform much slower on Xeon P4 hardware as a result. P3 hardware tends
to behave a lot more like Opteron in terms of speed of insturctions relating
to disabling interrupts, where on P4 Xeon they are proprtionally much slower.
The critical section optimizations made by John Baldwin, and the movement to
critical sections in UMA and kernel malloc that I made, made a big performance
difference on Xeon P4 hardware, but relatively little difference on Opteron.
All this seems to suggest that when comparing UP and SMP, it's useful to do it
on nice opteron hardware, but also on P4 Xeon to prevent making decisions
based on platform-specific properties.
Robert N M Watson
More information about the freebsd-hackers