Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Jan 2013 12:30:36 -0800
From:      Adrian Chadd <adrian@freebsd.org>
To:        Jason Evans <jasone@freebsd.org>
Cc:        freebsd-arch@freebsd.org
Subject:   Re: [rfc] enabling MALLOC_PRODUCTION on -HEAD for now, until jemalloc has been taught to have some run time selectable debug options
Message-ID:  <CAJ-Vmok_6bSVg6%2B1VFypQQ1KZrDPkDJiP3p%2BespJbMXeiESLgQ@mail.gmail.com>
In-Reply-To: <A803FFD3-E195-43C9-8B5D-24664707584C@freebsd.org>
References:  <CAJ-VmomY_jy5s_pgjpjDXZpN54HpKykD-5tWjU6TG6Z7eR=eOQ@mail.gmail.com> <A803FFD3-E195-43C9-8B5D-24664707584C@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 24 January 2013 10:40, Jason Evans <jasone@freebsd.org> wrote:

> I imported jemalloc 3.3.0 last night, which I think will restore non-MALL=
OC_PRODUCTION performance to roughly what it has been for years.  The key c=
hange was a patch by Ian Lepore:
>
>         http://www.canonware.com/cgi-bin/gitweb.cgi?p=3Djemalloc.git;a=3D=
commitdiff;h=3D14a2c6a698a207ac3f3825443cf3441c8842e990
>
> In practice, the zeroed memory validation should no longer execute at all=
 on FreeBSD due to madvise(...MADV_FREE) not guaranteeing zeroed memory.
>
> I don't know how significant the impact will be on constrained/older syst=
ems, but for the many buildworld repetitions I did during testing it improv=
ed throughput by >1.5X.  With this change in place, I'm not keen on enablin=
g MALLOC_PRODUCTION by default, because the assertions are useful both for =
detecting bugs in jemalloc (heaven forbid), and for indicating that crashes=
 within jemalloc are application errors.  The only other significant source=
 of overhead I'm aware of is junk filling, which we've had enabled by defau=
lt on -current for ages, probably since the introduction of phkmalloc.  If =
you don't like it:
>
>         ln -s 'junk:false' /etc/malloc.conf
>
> If a substantial performance difference remains for you (MALLOC_PRODUCTIO=
N vs non-MALLOC_PRODUCTION with junk:false set), please let me know.

Sweet, thanks. I'll do up a new -HEAD MIPS, ARM and PPC test builds
tonight and let you know how it all goes.

I'd love to keep MALLOC_PRODUCTION off on -HEAD by default. :-)

Thank you to both you and Ian for spearheading this change to your
malloc library. :)




Adrian



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmok_6bSVg6%2B1VFypQQ1KZrDPkDJiP3p%2BespJbMXeiESLgQ>