qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: peter.maydell@linaro.org
Cc: "Alex Bennée" <alex.bennee@linaro.org>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Ahmed Karaman" <ahmedkrmn@outlook.com>,
	qemu-devel@nongnu.org
Subject: [PULL 01/22] configure: fix performance regression due to PIC objects
Date: Fri,  9 Oct 2020 17:31:26 +0100	[thread overview]
Message-ID: <20201009163147.28512-2-alex.bennee@linaro.org> (raw)
In-Reply-To: <20201009163147.28512-1-alex.bennee@linaro.org>

From: Paolo Bonzini <pbonzini@redhat.com>

Because most files in QEMU are grouped into static libraries, Meson conservatively
compiles them with -fPIC.  This is overkill and produces slowdowns up to 20% on
some TCG tests.

As a stopgap measure, use the b_staticpic option to limit the slowdown to
--enable-pie.  https://github.com/mesonbuild/meson/pull/7760 will allow
us to use b_staticpic=false and let Meson do the right thing.

Reported-by: Ahmed Karaman <ahmedkrmn@outlook.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20200924092314.1722645-57-pbonzini@redhat.com>
Message-Id: <20201007160038.26953-2-alex.bennee@linaro.org>

diff --git a/configure b/configure
index 28df227db5..b553288c5e 100755
--- a/configure
+++ b/configure
@@ -7209,6 +7209,7 @@ NINJA=${ninja:-$PWD/ninjatool} $meson setup \
         -Dwerror=$(if test "$werror" = yes; then echo true; else echo false; fi) \
         -Dstrip=$(if test "$strip_opt" = yes; then echo true; else echo false; fi) \
         -Db_pie=$(if test "$pie" = yes; then echo true; else echo false; fi) \
+        -Db_staticpic=$(if test "$pie" = yes; then echo true; else echo false; fi) \
         -Db_coverage=$(if test "$gcov" = yes; then echo true; else echo false; fi) \
 	-Dmalloc=$malloc -Dmalloc_trim=$malloc_trim -Dsparse=$sparse \
 	-Dkvm=$kvm -Dhax=$hax -Dwhpx=$whpx -Dhvf=$hvf \
-- 
2.20.1



  reply	other threads:[~2020-10-09 16:54 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-09 16:31 [PULL 00/22] acceptance regressions, testing, gitdm, plugins Alex Bennée
2020-10-09 16:31 ` Alex Bennée [this message]
2020-10-09 16:31 ` [PULL 02/22] hw/misc/mips_cpc: Start vCPU when powered on Alex Bennée
2020-10-09 16:31 ` [PULL 03/22] hw/ide: restore replay support of IDE Alex Bennée
2020-10-09 16:31 ` [PULL 04/22] cirrus: Fixing and speedup the msys2/mingw CI Alex Bennée
2020-10-09 16:31 ` [PULL 05/22] cirrus: msys2/mingw speed is up, add excluded target back Alex Bennée
2020-10-09 16:31 ` [PULL 06/22] tests/docker: Add genisoimage to the docker file Alex Bennée
2020-10-09 16:31 ` [PULL 07/22] contrib/gitdm: Add more academic domains Alex Bennée
2020-10-09 16:31 ` [PULL 08/22] contrib/gitdm: Add more individual contributors Alex Bennée
2020-10-09 16:31 ` [PULL 09/22] contrib/gitdm: Add Baidu to the domain map Alex Bennée
2020-10-09 16:31 ` [PULL 10/22] contrib/gitdm: Add ByteDance " Alex Bennée
2020-10-09 16:31 ` [PULL 11/22] contrib/gitdm: Add Google " Alex Bennée
2020-10-09 16:31 ` [PULL 12/22] contrib/gitdm: Add Nuvia " Alex Bennée
2020-10-09 16:31 ` [PULL 13/22] contrib/gitdm: Add Qualcomm " Alex Bennée
2020-10-09 16:31 ` [PULL 14/22] contrib/gitdm: Add Nir Soffer to Red Hat domain Alex Bennée
2020-10-09 16:31 ` [PULL 15/22] contrib/gitdm: Add SUSE to the domain map Alex Bennée
2020-10-09 16:31 ` [PULL 16/22] contrib/gitdm: Add Yadro " Alex Bennée
2020-10-09 16:31 ` [PULL 17/22] contrib/gitdm: Add Yandex " Alex Bennée
2020-10-09 16:31 ` [PULL 18/22] .mailmap: Fix more contributor entries Alex Bennée
2020-10-09 16:31 ` [PULL 19/22] plugins: Fixes a issue when dlsym failed, the handle not closed Alex Bennée
2020-10-09 16:31 ` [PULL 20/22] plugin: Fixes compiling errors on msys2/mingw Alex Bennée
2020-10-09 16:31 ` [PULL 21/22] cirrus: use V=1 when running tests on FreeBSD and macOS Alex Bennée
2020-10-09 16:31 ` [PULL 22/22] tests/acceptance: disable machine_rx_gdbsim on GitLab Alex Bennée
2020-10-11 16:20 ` [PULL 00/22] acceptance regressions, testing, gitdm, plugins Peter Maydell

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=20201009163147.28512-2-alex.bennee@linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=ahmedkrmn@outlook.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.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;
as well as URLs for NNTP newsgroup(s).