Thank you for the detailed explanation, Peter. It makes a lot of things
clear now.

I see that the virtio block device is accessing guest physical memory that
is *not* backed by a device. So that would mean, in the normal case, the
guest physical memory is probably not being modified by
virtqueue_unmap_sg() and address_space_unmap() functions. The only thing
that unmap() is doing in this case, is invalidating and marking the
corresponding memory as dirty (in case of writes).

Since I'm not doing a live migration, nor I am hot-unplugging the memory
DIMM and I just want "used" virtqueue buffers be written to the guest
memory, I can possibly just move forward without doing an unmap() in this
case.

Best Regards,
Arnabjyoti Kalita

Reply via email to