From: "Dr. David Alan Gilbert" <dgilb...@redhat.com> Hi, This is an experimental set that reworks the way the vhost code handles changes in physical address space layout that came from a discussion with Igor.
Instead of updating and trying to merge sections of address space on each add/remove callback, we wait until the commit phase and go through and rebuild a list by walking the Flatview of memory and end up producing an ordered list. We compare the list to the old list to trigger updates. Note, only very lightly tested so far, I'm just trying to see if it's the right shape. Igor, is this what you were intending? Dave Dr. David Alan Gilbert (7): memory: address_space_iterate vhost: Move log_dirty check vhost: New memory update functions vhost: update_mem_cb implementation vhost: Compare new and old memory lists vhost: Copy updated region data into device state vhost: Remove vhost_set_memory and children hw/virtio/trace-events | 8 + hw/virtio/vhost.c | 424 ++++++++++++++++++++++--------------------------- include/exec/memory.h | 23 +++ memory.c | 22 +++ 4 files changed, 241 insertions(+), 236 deletions(-) -- 2.14.3