Messages in this thread | | | Date | Thu, 12 Dec 2019 02:36:13 -0500 | From | "Michael S. Tsirkin" <> | Subject | Re: [PATCH RFC 04/15] KVM: Implement ring-based dirty memory tracking |
| |
On Thu, Dec 12, 2019 at 01:08:14AM +0100, Paolo Bonzini wrote: > >> I'd say it won't be a big issue on locking 1/2M of host mem for a > >> vm... > >> Also note that if dirty ring is enabled, I plan to evaporate the > >> dirty_bitmap in the next post. The old kvm->dirty_bitmap takes > >> $GUEST_MEM/32K*2 mem. E.g., for 64G guest it's 64G/32K*2=4M. If with > >> dirty ring of 8 vcpus, that could be 64K*8=0.5M, which could be even > >> less memory used. > > > > Right - I think Avi described the bitmap in kernel memory as one of > > design mistakes. Why repeat that with the new design? > > Do you have a source for that?
Nope, it was a private talk.
> At least the dirty bitmap has to be > accessed from atomic context so it seems unlikely that it can be moved > to user memory.
Why is that? We could surely do it from VCPU context?
> The dirty ring could use user memory indeed, but it would be much harder > to set up (multiple ioctls for each ring? what to do if userspace > forgets one? etc.).
Why multiple ioctls? If you do like virtio packed ring you just need the base and the size.
-- MST
| |