Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 30 Apr 2006 13:48:07 -0400
From:      Kris Kennaway <kris@obsecurity.org>
To:        Chris <chrcoluk@gmail.com>
Cc:        Dmitry Pryanishnikov <dmitry@atlantis.dp.ua>, freebsd-stable@freebsd.org, Kris Kennaway <kris@obsecurity.org>
Subject:   Re: RELENG_4 -> 5 -> 6: significant performance regression
Message-ID:  <20060430174807.GA1618@xor.obsecurity.org>
In-Reply-To: <3aaaa3a0604300205l64f19573u250a727e4c83f499@mail.gmail.com>
References:  <20060427160536.M96305@atlantis.atlantis.dp.ua> <20060427181226.GA66431@xor.obsecurity.org> <20060428122448.K57436@atlantis.atlantis.dp.ua> <20060428182818.GA10410@xor.obsecurity.org> <3aaaa3a0604300205l64f19573u250a727e4c83f499@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--Nq2Wo0NMKNjxTN9z
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sun, Apr 30, 2006 at 10:05:40AM +0100, Chris wrote:
> On 28/04/06, Kris Kennaway <kris@obsecurity.org> 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=
=20
> >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 ${CFLA=
GS}
> >> # 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=20
> >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 whe=
n 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=
=20
> >time,
> >> 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
>=20
> 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.

No, the symbols are stripped from the install kernel.

Kris

--Nq2Wo0NMKNjxTN9z
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (FreeBSD)

iD8DBQFEVPhXWry0BWjoQKURAiK/AKDumwziGpGW3rZTOn5hTSm7igKvywCfaFen
I7MZKSc5MpRXqupIkO32Zt8=
=9LzR
-----END PGP SIGNATURE-----

--Nq2Wo0NMKNjxTN9z--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060430174807.GA1618>