* [PULL v2 00/57] Misc patches for 2020-09-19 @ 2020-09-21 15:56 Paolo Bonzini 2020-09-21 15:56 ` [PULL 56/57] configure: fix performance regression due to PIC objects Paolo Bonzini ` (2 more replies) 0 siblings, 3 replies; 4+ messages in thread From: Paolo Bonzini @ 2020-09-21 15:56 UTC (permalink / raw) To: qemu-devel The following changes since commit 053a4177817db307ec854356e95b5b350800a216: Merge remote-tracking branch 'remotes/philmd-gitlab/tags/fw_cfg-20200918' into staging (2020-09-18 16:34:26 +0100) are available in the Git repository at: https://gitlab.com/bonzini/qemu.git tags/for-upstream for you to fetch changes up to 6b58f5adc256c7b7f61f1b22fba75b4c6218ed0b: oss-fuzz: move linker arg to fix coverage-build (2020-09-21 10:23:09 -0400) v1->v2: rebased, couple new patches ---------------------------------------------------------------- * SCSI fix (Dmitry, Li Feng, Li Qiang) * memory API fixes (Eduardo) * removal of deprecated '-numa node' (Igor) * ACPI fix for VMBus (Jon) * relocatable install (myself) * always remove docker containers (myself) * serial cleanups (Philippe) * vmware cpuid leaf for tsc and apic frequency (Sunil) * KVM_FEATURE_ASYNC_PF_INT support (Vitaly) * i386 XSAVE bugfix (Xiaoyao) meson: * fixes (Marc-André, Max, Stefan, Alexander, myself) * moved libmpathpersist, cocoa, malloc tests (myself) * support for 0.56 introspected test dependencies (myself) ---------------------------------------------------------------- Alexander Bulekov (1): oss-fuzz: move linker arg to fix coverage-build Anthony PERARD (1): meson: fix installation of keymaps Claudio Fontana (1): tests: add missing genh dependency Dmitry Fomichev (1): scsi-generic: Fix HM-zoned device scan Eduardo Habkost (1): memory: Convert IOMMUMemoryRegionClass doc comment to kernel-doc Igor Mammedov (3): numa: drop support for '-numa node' (without memory specified) doc: Cleanup "'-mem-path' fallback to RAM" deprecation text numa: remove fixup numa_state->num_nodes to MAX_NODES Jon Doron (1): acpi: i386: Move VMBus DSDT entry to SB Li Feng (1): vhost-scsi: support inflight io track Li Qiang (2): hw: megasas: return -1 when 'megasas_map_sgl' fails hw: megasas: consider 'iov_count=0' is an error in megasas_map_sgl Marc-André Lureau (2): meson: fix MSI rule meson: error out if qemu_suffix starts with / Paolo Bonzini (26): meson: clean up build_by_default ninjatool: rebuild multi-output targets if outputs are missing meson: move libudev test meson: move libmpathpersist test meson: extend libmpathpersist test for static linking configure: move malloc_trim/tcmalloc/jemalloc to meson configure: fix --meson=/path/to/meson configure: move cocoa option to Meson configure: do not limit Hypervisor.framework test to Darwin meson: qtest: set "depends" correctly mtest2make: add support for introspected test dependencies meson: report accelerator support oslib: do not call g_strdup from qemu_get_exec_dir fuzz: use qemu_get_exec_dir oslib-posix: default exec_dir to bindir cutils: introduce get_relocated_path oslib-posix: relocate path to /var module: relocate path to modules net: relocate paths to helpers and scripts vl: relocate paths to data directories vl: relocate path to configuration file qemu-bridge-helper: relocate path to default ACL qga: relocate path to default configuration and hook ui: relocate paths to icons and translations configure: use a platform-neutral prefix configure: fix performance regression due to PIC objects Philippe Mathieu-Daudé (11): configure: Do not intent to build WHPX on 32-bit host hw/mips/mipssim: Use MMIO serial device on fake ISA I/O hw/char/serial: Remove TYPE_SERIAL_IO hw/char/serial: Assert serial_ioport_read/write offset fits 8 bytes hw/char/serial: Replace commented DPRINTF() by trace event hw/char/serial: Remove old DEBUG_SERIAL commented code hw/char/serial: Rename I/O read/write trace events hw/char/serial: Make 'wakeup' property boolean hw/char/serial-{isa, pci}: Alias QDEV properties from generic serial object hw/i386/q35: Remove unreachable Xen code on Q35 machine exec: Remove MemoryRegion::global_locking field Stefan Hajnoczi (2): MAINTAINERS: add Paolo Bonzini as RCU maintainer configure: rename QEMU_GA_MSI_ENABLED to CONFIG_QGA_MSI Stefano Garzarella (1): checkpatch: avoid error on cover letter files Sunil Muthuswamy (1): WHPX: vmware cpuid leaf for tsc and apic frequency Vitaly Kuznetsov (1): target/i386: support KVM_FEATURE_ASYNC_PF_INT Xiaoyao Li (1): i386/cpu: Clear FEAT_XSAVE_COMP_{LO,HI} when XSAVE is not available MAINTAINERS | 8 ++ Makefile | 4 +- accel/tcg/cputlb.c | 4 +- configure | 238 ++++++---------------------------- docs/devel/build-system.rst | 5 + docs/system/deprecated.rst | 44 ++++--- exec.c | 2 +- hw/char/serial-isa.c | 4 +- hw/char/serial-pci.c | 3 +- hw/char/serial.c | 65 +--------- hw/char/trace-events | 5 +- hw/core/machine.c | 1 - hw/core/numa.c | 59 --------- hw/i386/acpi-build.c | 12 +- hw/i386/pc_piix.c | 1 - hw/i386/pc_q35.c | 14 +- hw/mips/mipssim.c | 5 +- hw/ppc/spapr.c | 1 - hw/scsi/megasas.c | 6 +- hw/scsi/scsi-generic.c | 10 +- hw/scsi/vhost-scsi-common.c | 27 ++++ include/exec/memory.h | 64 +++++---- include/hw/boards.h | 2 - include/hw/char/serial.h | 13 +- include/hw/virtio/vhost-scsi-common.h | 2 + include/net/net.h | 4 +- include/qemu-common.h | 1 - include/qemu/cutils.h | 12 ++ include/qemu/osdep.h | 8 +- include/scsi/constants.h | 1 + include/sysemu/numa.h | 4 - include/sysemu/sysemu.h | 2 +- meson.build | 202 +++++++++++++++++++++++------ meson_options.txt | 9 ++ net/tap.c | 26 +++- os-posix.c | 24 ---- os-win32.c | 11 -- pc-bios/keymaps/meson.build | 2 + qemu-bridge-helper.c | 9 +- qga/main.c | 8 +- qga/meson.build | 1 + scripts/checkpatch.pl | 2 +- scripts/mtest2make.py | 19 ++- scripts/ninjatool.py | 3 + softmmu/memory.c | 6 - softmmu/vl.c | 43 ++++-- target/i386/cpu.c | 6 +- target/i386/cpu.h | 1 + target/i386/kvm.c | 10 ++ target/i386/machine.c | 19 +++ target/i386/whp-dispatch.h | 3 +- target/i386/whpx-all.c | 96 ++++++++++++-- tests/fp/meson.build | 2 - tests/meson.build | 9 +- tests/qemu-iotests/meson.build | 3 +- tests/qtest/fuzz/fuzz.c | 12 +- tests/qtest/meson.build | 4 +- trace/meson.build | 1 - ui/gtk.c | 10 +- ui/meson.build | 2 +- ui/sdl2.c | 9 +- ui/shader/meson.build | 1 - util/cutils.c | 61 +++++++++ util/module.c | 10 +- util/oslib-posix.c | 35 +++-- util/oslib-win32.c | 14 +- 66 files changed, 705 insertions(+), 599 deletions(-) -- 2.26.2 ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PULL 56/57] configure: fix performance regression due to PIC objects 2020-09-21 15:56 [PULL v2 00/57] Misc patches for 2020-09-19 Paolo Bonzini @ 2020-09-21 15:56 ` Paolo Bonzini 2020-09-21 15:56 ` [PULL 57/57] oss-fuzz: move linker arg to fix coverage-build Paolo Bonzini 2020-09-23 14:11 ` [PULL v2 00/57] Misc patches for 2020-09-19 Peter Maydell 2 siblings, 0 replies; 4+ messages in thread From: Paolo Bonzini @ 2020-09-21 15:56 UTC (permalink / raw) To: qemu-devel; +Cc: Ahmed Karaman 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 3757e48b17..dfecfd6c16 100755 --- a/configure +++ b/configure @@ -7849,6 +7849,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 \ -Dcocoa=$cocoa -Dmpath=$mpath -Dsdl=$sdl -Dsdl_image=$sdl_image \ -- 2.26.2 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PULL 57/57] oss-fuzz: move linker arg to fix coverage-build 2020-09-21 15:56 [PULL v2 00/57] Misc patches for 2020-09-19 Paolo Bonzini 2020-09-21 15:56 ` [PULL 56/57] configure: fix performance regression due to PIC objects Paolo Bonzini @ 2020-09-21 15:56 ` Paolo Bonzini 2020-09-23 14:11 ` [PULL v2 00/57] Misc patches for 2020-09-19 Peter Maydell 2 siblings, 0 replies; 4+ messages in thread From: Paolo Bonzini @ 2020-09-21 15:56 UTC (permalink / raw) To: qemu-devel; +Cc: Alexander Bulekov From: Alexander Bulekov <alxndr@bu.edu> The order of the add_project_link_arguments calls impacts which arguments are placed between --start-group and --end-group. OSS-Fuzz coverage builds seem to just add these to CFLAGS: -fprofile-instr-generate -fcoverage-mapping pthread -Wl,--no-as-needed -Wl,-ldl -Wl,-lm Wno-unused-command-line-argument The -Wl,-ldl flag that is enough to shift the fork_fuzz.ld linker-script back into the linker group. Move the linker-script meson call before the other calls to make sure the flag is placed correctly. Signed-off-by: Alexander Bulekov <alxndr@bu.edu> Message-Id: <20200909220516.614222-1-alxndr@bu.edu> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- meson.build | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/meson.build b/meson.build index ace15dc8c0..9aeefa60fb 100644 --- a/meson.build +++ b/meson.build @@ -54,6 +54,14 @@ configure_file(input: files('scripts/ninjatool.py'), # Compiler flags # ################## +# Specify linker-script with add_project_link_arguments so that it is not placed +# within a linker --start-group/--end-group pair +if 'CONFIG_FUZZ' in config_host + add_project_link_arguments(['-Wl,-T,', + (meson.current_source_dir() / 'tests/qtest/fuzz/fork_fuzz.ld')], + native: false, language: ['c', 'cpp', 'objc']) +endif + add_project_arguments(config_host['QEMU_CFLAGS'].split(), native: false, language: ['c', 'objc']) add_project_arguments(config_host['QEMU_CXXFLAGS'].split(), @@ -63,13 +71,6 @@ add_project_link_arguments(config_host['QEMU_LDFLAGS'].split(), add_project_arguments(config_host['QEMU_INCLUDES'].split(), language: ['c', 'cpp', 'objc']) -# Specify linker-script with add_project_link_arguments so that it is not placed -# within a linker --start-group/--end-group pair -if 'CONFIG_FUZZ' in config_host - add_project_link_arguments(['-Wl,-T,', - (meson.current_source_dir() / 'tests/qtest/fuzz/fork_fuzz.ld')], - native: false, language: ['c', 'cpp', 'objc']) -endif link_language = meson.get_external_property('link_language', 'cpp') if link_language == 'cpp' -- 2.26.2 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PULL v2 00/57] Misc patches for 2020-09-19 2020-09-21 15:56 [PULL v2 00/57] Misc patches for 2020-09-19 Paolo Bonzini 2020-09-21 15:56 ` [PULL 56/57] configure: fix performance regression due to PIC objects Paolo Bonzini 2020-09-21 15:56 ` [PULL 57/57] oss-fuzz: move linker arg to fix coverage-build Paolo Bonzini @ 2020-09-23 14:11 ` Peter Maydell 2 siblings, 0 replies; 4+ messages in thread From: Peter Maydell @ 2020-09-23 14:11 UTC (permalink / raw) To: Paolo Bonzini; +Cc: QEMU Developers On Mon, 21 Sep 2020 at 16:59, Paolo Bonzini <pbonzini@redhat.com> wrote: > > The following changes since commit 053a4177817db307ec854356e95b5b350800a216: > > Merge remote-tracking branch 'remotes/philmd-gitlab/tags/fw_cfg-20200918' into staging (2020-09-18 16:34:26 +0100) > > are available in the Git repository at: > > https://gitlab.com/bonzini/qemu.git tags/for-upstream > > for you to fetch changes up to 6b58f5adc256c7b7f61f1b22fba75b4c6218ed0b: > > oss-fuzz: move linker arg to fix coverage-build (2020-09-21 10:23:09 -0400) > > v1->v2: rebased, couple new patches > > ---------------------------------------------------------------- > * SCSI fix (Dmitry, Li Feng, Li Qiang) > * memory API fixes (Eduardo) > * removal of deprecated '-numa node' (Igor) > * ACPI fix for VMBus (Jon) > * relocatable install (myself) > * always remove docker containers (myself) > * serial cleanups (Philippe) > * vmware cpuid leaf for tsc and apic frequency (Sunil) > * KVM_FEATURE_ASYNC_PF_INT support (Vitaly) > * i386 XSAVE bugfix (Xiaoyao) > > meson: > * fixes (Marc-André, Max, Stefan, Alexander, myself) > * moved libmpathpersist, cocoa, malloc tests (myself) > * support for 0.56 introspected test dependencies (myself) Conflicts on merge -- could you rebase and fix up, please? thanks -- PMM ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-09-23 14:13 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-09-21 15:56 [PULL v2 00/57] Misc patches for 2020-09-19 Paolo Bonzini 2020-09-21 15:56 ` [PULL 56/57] configure: fix performance regression due to PIC objects Paolo Bonzini 2020-09-21 15:56 ` [PULL 57/57] oss-fuzz: move linker arg to fix coverage-build Paolo Bonzini 2020-09-23 14:11 ` [PULL v2 00/57] Misc patches for 2020-09-19 Peter Maydell
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).