From: Randy MacLeod <randy.macleod@windriver.com>
To: <openembedded-core@lists.openembedded.org>
Subject: Re: valgrind upgrade
Date: Fri, 19 Oct 2018 18:05:21 -0400 [thread overview]
Message-ID: <5b788abc-abef-c5e4-b8d7-aa05bc3d4d9f@windriver.com> (raw)
In-Reply-To: <20181017022220.20841-1-Randy.MacLeod@windriver.com>
On 10/16/18 10:22 PM, Randy MacLeod wrote:
> * Valgrind is now buildable with link-time optimisation (LTO). A new
> configure option --enable-lto=yes allows building Valgrind with LTO. If the
> toolchain supports it, this produces a smaller/faster Valgrind (up to 10%).
> Note that if you are doing Valgrind development, --enable-lto=yes massively
> slows down the build process.
> -- I haven't added support for that option yet. A 10% performance boost
> is hard to turn down but we'd need to understand the build impact.
Building the native valgrind 3.14ish
8b689c66d (origin/master, origin/HEAD)
Implement VG_(apply_ExeContext)().
on my 4 core laptop with 16 GB RAM, SSD running ubuntu-18.04
outside of bitbake just for a baseline.
/usr/bin/time says:
CPU: ~3.8x more time and :
RAM: 348 MB vs 519 MB Max memory usage
See below for logs.
I tried to use --enable-lto in the recipe
but that configure option was ignored so for now
I'm not going to worry about it. If we get it working,
I'd want the faster build as the default with a PACKAGECONFIG for
people who want to pay at compile time for a 0-10% improvement
in runtime behaviour.
../Randy
>
> * The new option --keep-debuginfo=no|yes (default no) can be used to retain
> debug info for unloaded code. This allows saved stack traces (e.g. for
> memory leaks) to include file/line info for code that has been dlclose'd (or
> similar). See the user manual for more information and known limitations.
> -- sounds like it should be a default but I haven't added it yet.
This feature will have to wait until next week.
I'll send what I have later tonight or perhaps tomorrow morning.
--
# Randy MacLeod
# Wind River Linux
$ cat no-lto.log ;
296.20user 13.31system 5:10.29elapsed 99%CPU
(0avgtext+0avgdata 347800maxresident)k
224inputs+1783440outputs
(3major+5964298minor)pagefaults 0swaps
$ cat with-lto.log
1101.82user 23.79system 18:48.13elapsed 99%CPU
(0avgtext+0avgdata 519400maxresident)k
39200inputs+4644952outputs
(177major+9033934minor)pagefaults 0swaps
and FYI, on a 128 core server running
bitbake -c configure valgrind &&
/usr/bin/time -o foo bitbake -c compile valgrind:
$ cat compile-vg.log
0.89user 0.14system 0:49.64elapsed 2%CPU
(0avgtext+0avgdata 28124maxresident)k
0inputs+152outputs (0major+9873minor)pagefaults 0swaps
prev parent reply other threads:[~2018-10-19 22:05 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-17 2:22 valgrind upgrade Randy MacLeod
2018-10-17 2:22 ` [PATCH] valgrind: update from 3.13.0 to 3.14.0 Randy MacLeod
2018-10-18 12:01 ` Richard Purdie
2018-10-18 17:51 ` Khem Raj
2018-10-18 23:12 ` Randy MacLeod
2018-10-19 7:34 ` richard.purdie
2018-10-17 2:33 ` ✗ patchtest: failure for " Patchwork
2018-10-19 22:05 ` Randy MacLeod [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5b788abc-abef-c5e4-b8d7-aa05bc3d4d9f@windriver.com \
--to=randy.macleod@windriver.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox