[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 14/39] configure: fix performance regression due to PIC objects
From: |
Paolo Bonzini |
Subject: |
[PULL 14/39] configure: fix performance regression due to PIC objects |
Date: |
Sat, 10 Oct 2020 03:57:14 -0400 |
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>
Message-Id: <20200919155639.1045857-1-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 1 +
1 file changed, 1 insertion(+)
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.26.2
- [PULL 10/39] hw/nvram: Always register FW_CFG_DATA_GENERATOR_INTERFACE, (continued)
- [PULL 10/39] hw/nvram: Always register FW_CFG_DATA_GENERATOR_INTERFACE, Paolo Bonzini, 2020/10/10
- [PULL 15/39] docs: Move QTest documentation to its own document, Paolo Bonzini, 2020/10/10
- [PULL 08/39] authz: Move the creation of the library to the main meson.build, Paolo Bonzini, 2020/10/10
- [PULL 16/39] docs/devel/qtest: Include protocol spec in document, Paolo Bonzini, 2020/10/10
- [PULL 06/39] io: Move the creation of the library to the main meson.build, Paolo Bonzini, 2020/10/10
- [PULL 09/39] qom: Move the creation of the library to the main meson.build, Paolo Bonzini, 2020/10/10
- [PULL 07/39] crypto: Move the creation of the library to the main meson.build, Paolo Bonzini, 2020/10/10
- [PULL 11/39] softmmu: move more files to softmmu/, Paolo Bonzini, 2020/10/10
- [PULL 13/39] qom: fix objects with improper parent type, Paolo Bonzini, 2020/10/10
- [PULL 19/39] docs/devel: update instruction on how to add new unit tests, Paolo Bonzini, 2020/10/10
- [PULL 14/39] configure: fix performance regression due to PIC objects,
Paolo Bonzini <=
- [PULL 17/39] docs/devel/qtest: Include libqtest API reference, Paolo Bonzini, 2020/10/10
- [PULL 12/39] exec: split out non-softmmu-specific parts, Paolo Bonzini, 2020/10/10
- [PULL 25/39] device-plug-test: use qtest_qmp to send the device_del command, Paolo Bonzini, 2020/10/10
- [PULL 22/39] qtest: rename qtest_qmp_receive to qtest_qmp_receive_dict, Paolo Bonzini, 2020/10/10
- [PULL 20/39] build-sys: fix git version from -version, Paolo Bonzini, 2020/10/10
- [PULL 18/39] qtest: unify extra_qtest_srcs and extra_qtest_deps, Paolo Bonzini, 2020/10/10
- [PULL 26/39] qtest: switch users back to qtest_qmp_receive, Paolo Bonzini, 2020/10/10
- [PULL 24/39] qtest: remove qtest_qmp_receive_success, Paolo Bonzini, 2020/10/10
- [PULL 29/39] qdev: add "check if address free" callback for buses, Paolo Bonzini, 2020/10/10
- [PULL 23/39] qtest: Reintroduce qtest_qmp_receive, Paolo Bonzini, 2020/10/10