From: "Alex Bennée" <alex.bennee@linaro.org>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: "Philippe Mathieu-Daudé" <philmd@linaro.org>,
qemu-devel@nongnu.org, qemu-s390x@nongnu.org,
qemu-arm@nongnu.org,
"Pierrick Bouvier" <pierrick.bouvier@linaro.org>,
qemu-block@nongnu.org,
"Richard Henderson" <richard.henderson@linaro.org>,
qemu-ppc@nongnu.org, "Paolo Bonzini" <pbonzini@redhat.com>,
qemu-riscv@nongnu.org
Subject: Re: [RFC PATCH-for-10.1 v6 00/14] target-info: Add more API for VirtIO cleanups & introduce ARM macros
Date: Tue, 08 Jul 2025 11:15:02 +0100 [thread overview]
Message-ID: <87frf7ugyh.fsf@draig.linaro.org> (raw)
In-Reply-To: <20250707135403-mutt-send-email-mst@kernel.org> (Michael S. Tsirkin's message of "Mon, 7 Jul 2025 13:55:20 -0400")
"Michael S. Tsirkin" <mst@redhat.com> writes:
> On Mon, Jul 07, 2025 at 07:19:54PM +0200, Philippe Mathieu-Daudé wrote:
>> Rather than re-spinning the whole "single-binary: Make hw/arm/
>> common" series, restrict to the API additions, but include
>> examples of their usefulness (hundreds of virtio objects
>> removed from default Linux build).
>> Time passed since I context-switched out of this work so I'm
>> not sure the DEFINE_MACHINE_WITH_INTERFACES() implementation
>> is in the form Zoltan asked.
>
> I think I'd prefer to defer cleanups to post 10.1 - already
> too much on my plate as I was out sick. Unless there's a reason
> I'm missing to rush this in? Is there a feature we want in
> 10.1 that depends on it?
This is all part of reducing the number of duplicate builds of device
models which after the stubs VirtIO is the main remaining sub-system due
for clean-up:
➜ ./.gitlab-ci.d/check-units.py ./builds/system/compile_commands.json -n 80
Total source files: 3595
Total build units: 5658
Most rebuilt units:
../../dump/win_dump.c built 29 times
../../cpu-target.c built 29 times
../../system/arch_init.c built 29 times
../../system/globals-target.c built 29 times
../../page-target.c built 29 times
../../page-vary-target.c built 29 times
../../target-info-stub.c built 29 times
../../migration/ram.c built 29 times
../../migration/target.c built 29 times
../../monitor/hmp-cmds-target.c built 29 times
../../monitor/hmp-target.c built 29 times
../../accel/accel-target.c built 29 times
../../accel/stubs/hvf-stub.c built 29 times
../../accel/stubs/nvmm-stub.c built 29 times
../../accel/stubs/whpx-stub.c built 29 times
../../accel/qtest/qtest.c built 29 times
../../system/main.c built 29 times
../../hw/i386/kvm/xen-stubs.c built 27 times
../../accel/stubs/xen-stub.c built 27 times
../../accel/stubs/kvm-stub.c built 27 times
../../hw/9pfs/virtio-9p-device.c built 23 times
../../hw/block/virtio-blk.c built 23 times
../../hw/block/virtio-blk-common.c built 23 times
../../hw/char/virtio-serial-bus.c built 23 times
../../hw/net/virtio-net.c built 23 times
../../hw/scsi/virtio-scsi.c built 23 times
../../hw/scsi/vhost-scsi-common.c built 23 times
../../hw/virtio/virtio.c built 23 times
../../hw/virtio/virtio-config-io.c built 23 times
../../hw/virtio/virtio-qmp.c built 23 times
../../hw/virtio/vhost-backend.c built 23 times
../../hw/virtio/vhost-iova-tree.c built 23 times
../../hw/virtio/vhost-user.c built 23 times
../../hw/virtio/vhost-shadow-virtqueue.c built 23 times
../../hw/virtio/virtio-balloon.c built 23 times
../../hw/virtio/vhost-user-fs.c built 23 times
../../hw/virtio/vhost-vsock.c built 23 times
../../hw/virtio/vhost-user-vsock.c built 23 times
../../hw/virtio/virtio-rng.c built 23 times
../../hw/block/vhost-user-blk.c built 22 times
../../hw/vfio/listener.c built 22 times
../../hw/vfio/container-base.c built 22 times
../../hw/vfio/container.c built 22 times
../../hw/vfio/helpers.c built 22 times
../../hw/vfio/pci-quirks.c built 22 times
../../hw/vfio/pci.c built 22 times
../../hw/virtio/vhost-vsock-pci.c built 22 times
../../hw/virtio/vhost-user-vsock-pci.c built 22 times
../../hw/virtio/vhost-user-blk-pci.c built 22 times
../../hw/virtio/vhost-user-scsi-pci.c built 22 times
../../hw/virtio/vhost-scsi-pci.c built 22 times
../../hw/virtio/vhost-user-fs-pci.c built 22 times
../../hw/virtio/virtio-crypto-pci.c built 22 times
../../hw/virtio/virtio-input-host-pci.c built 22 times
../../hw/virtio/virtio-input-pci.c built 22 times
../../hw/virtio/virtio-rng-pci.c built 22 times
../../hw/virtio/virtio-balloon-pci.c built 22 times
../../hw/virtio/virtio-9p-pci.c built 22 times
../../hw/virtio/virtio-scsi-pci.c built 22 times
../../hw/virtio/virtio-blk-pci.c built 22 times
../../hw/virtio/virtio-net-pci.c built 22 times
../../hw/virtio/virtio-serial-pci.c built 22 times
../../hw/virtio/virtio-iommu-pci.c built 22 times
../../hw/virtio/vdpa-dev-pci.c built 22 times
../../tests/unit/iothread.c built 16 times
../../hw/nvram/fw_cfg-acpi.c built 13 times
../../semihosting/guestfd.c built 11 times
../../semihosting/syscalls.c built 11 times
../../tests/qtest/tpm-emu.c built 8 times
../../hw/vfio/platform.c built 7 times
../../tests/qtest/tpm-util.c built 7 times
../../tests/qtest/tpm-tests.c built 7 times
../../hw/virtio/virtio-mem.c built 5 times
../../hw/virtio/virtio-mem-pci.c built 5 times
../../hw/virtio/virtio-md-pci.c built 5 times
../../tests/unit/socket-helpers.c built 5 times
../../tests/unit/io-channel-helpers.c built 5 times
../../fpu/softfloat.c built 4 times
../../semihosting/arm-compat-semi.c built 4 times
../../target/mips/system/addr.c built 4 times
Aside from reducing build times and overall load on the CI systems its
required to advance the single-binary QEMU build and get us closer to
being able to do proper heterogeneous emulation.
I don't think missing 10.1 would be critical for the single binary proof
of concept but obviously as with all changes that touch the whole code
base the longer the review takes the more time they spend in re-base
hell.
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
next prev parent reply other threads:[~2025-07-08 21:12 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-07 17:19 [RFC PATCH-for-10.1 v6 00/14] target-info: Add more API for VirtIO cleanups & introduce ARM macros Philippe Mathieu-Daudé
2025-07-07 17:19 ` [PATCH-for-10.1 v6 01/14] target/qmp: Use target_cpu_type() Philippe Mathieu-Daudé
2025-07-07 20:05 ` Richard Henderson
2025-07-07 17:19 ` [PATCH-for-10.1 v6 02/14] qemu/target-info: Factor target_arch() out Philippe Mathieu-Daudé
2025-07-07 20:06 ` Richard Henderson
2025-07-09 15:24 ` Zhao Liu
2025-07-07 17:19 ` [PATCH-for-10.1 v6 03/14] qemu/target-info: Add %target_arch field to TargetInfo Philippe Mathieu-Daudé
2025-07-07 17:19 ` [PATCH-for-10.1 v6 04/14] qemu/target-info: Introduce target_base_arch() Philippe Mathieu-Daudé
2025-07-07 17:19 ` [PATCH-for-10.1 v6 05/14] qemu/target-info: Add target_endian_mode() Philippe Mathieu-Daudé
2025-07-07 17:20 ` [PATCH-for-10.1 v6 06/14] qemu: Convert target_words_bigendian() to TargetInfo API Philippe Mathieu-Daudé
2025-07-07 17:20 ` [PATCH-for-10.1 v6 07/14] gdbstub/helpers: Replace TARGET_BIG_ENDIAN -> target_big_endian() Philippe Mathieu-Daudé
2025-07-07 17:20 ` [RFC PATCH-for-10.1 v6 08/14] qemu: Declare all load/store helpert in 'qemu/bswap.h' Philippe Mathieu-Daudé
2025-07-07 17:22 ` Philippe Mathieu-Daudé
2025-07-07 17:20 ` [PATCH-for-10.1 v6 09/14] hw/virtio: Build various files once Philippe Mathieu-Daudé
2025-07-07 19:25 ` BALATON Zoltan
2025-07-08 10:17 ` Philippe Mathieu-Daudé
2025-07-08 12:47 ` Manos Pitsidianakis
2025-07-07 17:20 ` [PATCH-for-10.1 v6 10/14] hw/core/null-machine: Define machine as generic QOM type Philippe Mathieu-Daudé
2025-07-07 22:59 ` Richard Henderson
2025-07-09 15:36 ` Zhao Liu
2025-07-07 17:20 ` [PATCH-for-10.1 v6 11/14] hw/arm: Register TYPE_TARGET_ARM/AARCH64_MACHINE QOM interfaces Philippe Mathieu-Daudé
2025-07-07 17:20 ` [PATCH-for-10.1 v6 12/14] hw/core: Allow ARM/Aarch64 binaries to use the 'none' machine Philippe Mathieu-Daudé
2025-07-07 23:00 ` Richard Henderson
2025-07-07 17:20 ` [PATCH-for-10.1 v6 13/14] hw/boards: Introduce DEFINE_MACHINE_WITH_INTERFACES() macro Philippe Mathieu-Daudé
2025-07-07 17:20 ` [RFC PATCH-for-10.1 v6 14/14] hw/arm: Add DEFINE_MACHINE_[ARM_]AARCH64() macros Philippe Mathieu-Daudé
2025-07-07 17:55 ` [RFC PATCH-for-10.1 v6 00/14] target-info: Add more API for VirtIO cleanups & introduce ARM macros Michael S. Tsirkin
2025-07-08 10:15 ` Alex Bennée [this message]
2025-07-08 10:27 ` Philippe Mathieu-Daudé
2025-07-07 19:28 ` BALATON Zoltan
2025-07-08 17:10 ` Philippe Mathieu-Daudé
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=87frf7ugyh.fsf@draig.linaro.org \
--to=alex.bennee@linaro.org \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=philmd@linaro.org \
--cc=pierrick.bouvier@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=qemu-riscv@nongnu.org \
--cc=qemu-s390x@nongnu.org \
--cc=richard.henderson@linaro.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.