Scheduler + IPC performance on FreeBSD 7.4, 8.2,
9.0 and -CURRENT
Arnaud Lacombe
lacombar at gmail.com
Fri Apr 6 17:54:05 UTC 2012
Hi,
On Fri, Apr 6, 2012 at 10:58 AM, Attilio Rao <attilio at freebsd.org> wrote:
> Il 05 aprile 2012 19:03, Arnaud Lacombe <lacombar at gmail.com> ha scritto:
>> Hi folks,
>>
>> Over the past months, I ran on a couple of unused box the
>> `hackbench'[HACKBENCH] benchmark used by the Linux folks for tracking
>> down various kind of regression/improvement. `hackbench' is a
>> scheduler + IPC test (socket xor pipe). It creates producers/consumers
>> groups and let a variable quantity of small messages flow happily.
>> Producers and consumers are either processes xor threads.
>>
>> Tested platforms were
>> - Atom D510, Intel, (incomplete)
>> - Core 2 Quad Q9560, Intel
>> - Soekris net5501, AMD (incomplete)
>> - Xeon E5645, Intel (incomplete)
>> - Xeon E5620 (dual package), Intel
>> - Xeon E5-1650 (pending completion)
>> - Vortex86, DMP
>>
>> Tested kernel were:
>> - FreeBSD 7.4-RELEASE
>> - FreeBSD 8.2-RELEASE
>> - FreeBSD 9.0-RC3 and FreeBSD 9.0-RELEASE
>> - FreeBSD 10-CURRENT as of r231573
>
> Which means you run 10-CURRENT with all the kernel debugging options
> on and MALLOC_DEBUG on?
>
I already answered that question. Namely:
<<
note: rule [I] is alleviated for -CURRENT kernels, which were built
with the same alteration made to GENERIC during the CURRENT->RELEASE
transition (ie. WITNESS and a couple of other option disabled).
>>
this translates into the following patch (for amd64):
diff --git a/sys/amd64/conf/GENERIC b/sys/amd64/conf/GENERIC
index 8db8e27..9d61f25 100644
--- a/sys/amd64/conf/GENERIC
+++ b/sys/amd64/conf/GENERIC
@@ -67,20 +67,6 @@ options MAC # TrustedBSD
MAC Framework
#options KDTRACE_HOOKS # Kernel DTrace hooks
options INCLUDE_CONFIG_FILE # Include this file in kernel
-# Debugging support. Always need this:
-options KDB # Enable kernel debugger support.
-# For minimum debugger support (stable branch) use:
-#options KDB_TRACE # Print a stack trace for a panic.
-# For full debugger support use this instead:
-options DDB # Support DDB.
-options GDB # Support remote GDB.
-options DEADLKRES # Enable the deadlock resolver
-options INVARIANTS # Enable calls of extra sanity checking
-options INVARIANT_SUPPORT # Extra sanity checks of
internal structures, required by INVARIANTS
-options WITNESS # Enable checks to detect
deadlocks and cycles
-options WITNESS_SKIPSPIN # Don't run witness on
spinlocks for speed
-options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones
- Arnaud
> Attilio
>
>
> --
> Peace can only be achieved by understanding - A. Einstein
More information about the freebsd-performance
mailing list