On 09.09.22 10:02, Emanuele Giuseppe Esposito wrote:
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)."
... that's why the patch takes a different approach? :)
--
Thanks,
David / dhildenb