From owner-freebsd-stable@FreeBSD.ORG Sun Apr 30 09:05:46 2006 Return-Path: X-Original-To: freebsd-stable@freebsd.org Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 96CA716A403 for ; Sun, 30 Apr 2006 09:05:46 +0000 (UTC) (envelope-from chrcoluk@gmail.com) Received: from pproxy.gmail.com (pproxy.gmail.com [64.233.166.183]) by mx1.FreeBSD.org (Postfix) with ESMTP id AEE1243D64 for ; Sun, 30 Apr 2006 09:05:40 +0000 (GMT) (envelope-from chrcoluk@gmail.com) Received: by pproxy.gmail.com with SMTP id t32so2584717pyc for ; Sun, 30 Apr 2006 02:05:40 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=EinHJ0Dm5gdyyWfC1BO7v9Zzbwx7GebM89wi5o7nFH/TcHrXm10phBo8mRAGC3VlWCTjfW26FHjLEVuse30U0ZwcZWszk94QmCL0cZ2sPUKvBrSSlsiUD8EYT+ftlHp5ZngkTWRXgMkf1fHJjv/DNlMhBkZ9jqAcxM5ib7Qq/F8= Received: by 10.35.18.18 with SMTP id v18mr2048480pyi; Sun, 30 Apr 2006 02:05:40 -0700 (PDT) Received: by 10.35.36.18 with HTTP; Sun, 30 Apr 2006 02:05:40 -0700 (PDT) Message-ID: <3aaaa3a0604300205l64f19573u250a727e4c83f499@mail.gmail.com> Date: Sun, 30 Apr 2006 10:05:40 +0100 From: Chris To: "Kris Kennaway" In-Reply-To: <20060428182818.GA10410@xor.obsecurity.org> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <20060427160536.M96305@atlantis.atlantis.dp.ua> <20060427181226.GA66431@xor.obsecurity.org> <20060428122448.K57436@atlantis.atlantis.dp.ua> <20060428182818.GA10410@xor.obsecurity.org> Cc: Dmitry Pryanishnikov , freebsd-stable@freebsd.org Subject: Re: RELENG_4 -> 5 -> 6: significant performance regression X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Apr 2006 09:05:46 -0000 On 28/04/06, Kris Kennaway wrote: > On Fri, Apr 28, 2006 at 03:31:17PM +0300, Dmitry Pryanishnikov wrote: > > > > Hello! > > > > On Thu, 27 Apr 2006, Kris Kennaway wrote: > > > > Thanks for your suggestions, they've made a difference (though not as = big > > as one could hope). > > > > >On Thu, Apr 27, 2006 at 05:08:11PM +0300, Dmitry Pryanishnikov wrote: > > > > > >>makeoptions CONF_CFLAGS=3D-fno-builtin > > > > > >Non-default option; this may conceivably affect performance. > > > > The reason why I've initially included this option is the following > > comment (NOTES from RELENG_6): > > > > # > > # CONF_CFLAGS gives some extra compiler flags that are added to ${CFLAG= S} > > # after most other flags. Here we use it to inhibit use of non-optimal > > # gcc builtin functions (e.g., memcmp). > > # > > > > I've read this: using "CONF_CFLAGS=3D-fno-builtin" inhibits use of non-= optimal > > gcc builtin functions, so this option may be useful for getting max. > > performance. Are this comment and my interpretation still correct now? > > I don't know, it needs to be tested in your particular case. > > > >> %Sys %Intr %Idl > > >>RELENG_4 + rl0 14 14 72 > > >>RELENG_4 + fxp0 14 10 76 > > >>RELENG_5 + rl0 40 30 30 > > >>RELENG_5 + fxp0 35 25 40 > > >>RELENG_6 + rl0 45 40 15 > > >>RELENG_6 + fxp0 45 35 20 > > > %Sys %Intr %Idl "time md5 -t" wall clock time > > RELENG_5 + rl0 33 23 44 1:41 > > RELENG_5 + fxp0 30 20 50 1:36 > > > > RELENG_6 + rl0 34 24 42 1:43 > > RELENG_6 + fxp0 30 20 50 1:40 > > > > So performance now is much better then before removal of > > > > makeoptions CONF_CFLAGS=3D-fno-builtin > > options INVARIANTS > > options INVARIANT_SUPPORT > > options QUOTA > > > > (I'll try to find out which one of these takes which % of overhead when= I > > get free time), but still much worse then under RELENG_4, where this > > particular (I'd say "quote common") usage pattern takes 24-28% of CPU t= ime, > > while under RELENG_5 / 6 it takes >=3D 50% ;( > > Thanks. Silly question: the data transfer rate is the same on both > 4.x and 6.x, right? i.e. the data transfer itself takes the same > time? > > The next step is for you to run some profiling tests to see > where the kernel is spending time, e.g. with hwpmc. > > Also, when you are trying to quantify performance differences, you > need to run many copies of the test (at least 10) under identical > conditions to account for possible variations. The ministat tool > (/usr/src/tools/tools/ministat) is good for performing statistically > meaningful comparisons of data sets when you have them. > > Kris Does 'makeoptions DEBUG=3D-g' add any kind of performance hit or overhead as I noticed it wasnt default in 5.4 but is in 6.0. Thanks Chris