From owner-freebsd-current@FreeBSD.ORG Thu Aug 19 07:26:23 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2989516A4CE for ; Thu, 19 Aug 2004 07:26:23 +0000 (GMT) Received: from abigail.blackend.org (blackend.org [212.11.35.229]) by mx1.FreeBSD.org (Postfix) with ESMTP id C8C2B43D39 for ; Thu, 19 Aug 2004 07:26:21 +0000 (GMT) (envelope-from marc@blackend.org) Received: from abigail.blackend.org (localhost [127.0.0.1]) i7J7QJlp019749; Thu, 19 Aug 2004 09:26:19 +0200 (CEST) (envelope-from marc@abigail.blackend.org) Received: (from marc@localhost) by abigail.blackend.org (8.12.11/8.12.11/Submit) id i7J7QEwl019748; Thu, 19 Aug 2004 09:26:14 +0200 (CEST) (envelope-from marc) Date: Thu, 19 Aug 2004 09:26:14 +0200 From: Marc Fonvieille To: Mike Tancsa Message-ID: <20040819072614.GA19508@abigail.blackend.org> References: <20040818200530.GA88370@abigail.blackend.org> <20040818205029.GA48028@xor.obsecurity.org> <6.1.2.0.0.20040818170232.05773880@64.7.153.2> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <6.1.2.0.0.20040818170232.05773880@64.7.153.2> User-Agent: Mutt/1.4.2.1i X-Useless-Header: blackend.org X-Operating-System: FreeBSD 4.10-PRERELEASE cc: freebsd-current@freebsd.org cc: Kris Kennaway Subject: Re: Weird performances: -CURRENT vs 5.2.1 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Aug 2004 07:26:23 -0000 On Wed, Aug 18, 2004 at 05:05:13PM -0400, Mike Tancsa wrote: > > Hi, > As someone who is also going to start testing the waters with > RELENG_5 on some non critical production servers (e.g. one of n spam and av > scanning machines), I take it you mean, > > > NOTE TO PEOPLE WHO THINK THAT FreeBSD 5.x IS SLOW: > FreeBSD 5.x has many debugging features turned on, in > both the kernel and userland. These features attempt to detect > incorrect use of system primitives, and encourage loud failure > through extra sanity checking and fail stop semantics. They > also substantially impact system performance. If you want to > do performance measurement, benchmarking, and optimization, > you'll want to turn them off. This includes various WITNESS- > related kernel options, INVARIANTS, malloc debugging flags > in userland, and various verbose features in the kernel. Many > developers choose to disable these features on build machines > to maximize performance. > > > Are there more details somewhere as to what exactly to turn off and tweak ? > It's not really documented. To sum up, you have to remove these lines from your kernel configuration file: makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols # Debugging for use in -current options KDB # Enable kernel debugger support. options DDB # Support DDB. options GDB # Support remote GDB. options INVARIANTS # Enable calls of extra sanity checking options INVARIANT_SUPPORT # Extra sanity checks of internal struct ures, required by INVARIANTS options WITNESS # Enable checks to detect deadlocks and cycles options WITNESS_SKIPSPIN # Don't run witness on spinlocks for spe ed In fact INVARIANTS and WITNESS related lines are the more important to maximize performance, the others lines do not really change things. And then do a: ln -s aj /etc/malloc.conf This one is important too, by default malloc routines uses AJ flags (be careful with the case) under -CURRENT, even if you don't have any malloc.conf file, look at malloc(3) manual page for more details. Marc