Wow great job digging through all these hypervisors! On Mon, Apr 07, 2025 at 10:38:59AM +0200, David Hildenbrand wrote: > crossvm: > https://github.com/google/crosvm/blob/main/devices/src/virtio/balloon.rs > > -> Hard-codes queue numbers; does *not* offer/implement > VIRTIO_BALLOON_F_STATS_VQ but does offer VIRTIO_BALLOON_F_STATS_VQ > and VIRTIO_BALLOON_F_DEFLATE_ON_OOM. > > -> Implements something that is not in the virtio-spec > > const VIRTIO_BALLOON_F_WS_REPORTING: u32 = 8; // Working Set Reporting > virtqueues > > and > > const WS_DATA_VQ: usize = 5; > const WS_OP_VQ: usize = 6; > > > IIUC, Linux inside cross-vm might actually be problematic? They would > disagree on the virtqueue for free-page-reporting
That's why things must be tied to negotiated features, not to offered ones. > > Maybe I am missing something, it's a mess ... Indeed. Let's fix the implementations while keeping work arounds for existing ones. -- MST