"Michael S. Tsirkin" <m...@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

Reply via email to