>> One thing I forgot to ask: iirc we used to have a workaround to kick all >> vcpus out, update memory slots, then continue all vcpus. Would that work >> for us too for the problem you're working on? > > As reference, here is one such approach for region resizes only: > > https://lore.kernel.org/qemu-devel/20200312161217.3590-1-david@xxxxxxxxxx/ > > which notes: > > "Instead of inhibiting during the region_resize(), we could inhibit for > the hole memory transaction (from begin() to commit()). This could be > nice, because also splitting of memory regions would be atomic (I > remember there was a BUG report regarding that), however, I am not sure > if that might impact any RT users." > > I read: "Using pause_all_vcpus()/resume_all_vcpus() is not possible, as it will temporarily drop the BQL - something most callers can't handle (esp. when called from vcpu context e.g., in virtio code)." Thank you, Emanuele