qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [RFC 0/7] Rework vhost memory region updates
@ 2017-11-29 18:50 Dr. David Alan Gilbert (git)
  2017-11-29 18:50 ` [Qemu-devel] [RFC 1/7] memory: address_space_iterate Dr. David Alan Gilbert (git)
                   ` (9 more replies)
  0 siblings, 10 replies; 34+ messages in thread
From: Dr. David Alan Gilbert (git) @ 2017-11-29 18:50 UTC (permalink / raw)
  To: qemu-devel, imammedo; +Cc: maxime.coquelin, mst

From: "Dr. David Alan Gilbert" <dgilbert@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

^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2017-12-11 15:43 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-29 18:50 [Qemu-devel] [RFC 0/7] Rework vhost memory region updates Dr. David Alan Gilbert (git)
2017-11-29 18:50 ` [Qemu-devel] [RFC 1/7] memory: address_space_iterate Dr. David Alan Gilbert (git)
2017-11-29 18:50 ` [Qemu-devel] [RFC 2/7] vhost: Move log_dirty check Dr. David Alan Gilbert (git)
2017-11-29 18:50 ` [Qemu-devel] [RFC 3/7] vhost: New memory update functions Dr. David Alan Gilbert (git)
2017-11-30 15:48   ` Igor Mammedov
2017-12-05 18:25     ` Dr. David Alan Gilbert
2017-11-29 18:50 ` [Qemu-devel] [RFC 4/7] vhost: update_mem_cb implementation Dr. David Alan Gilbert (git)
2017-11-30 11:27   ` Igor Mammedov
2017-12-06 20:09     ` Dr. David Alan Gilbert
2017-11-29 18:50 ` [Qemu-devel] [RFC 5/7] vhost: Compare new and old memory lists Dr. David Alan Gilbert (git)
2017-11-29 18:50 ` [Qemu-devel] [RFC 6/7] vhost: Copy updated region data into device state Dr. David Alan Gilbert (git)
2017-11-29 18:50 ` [Qemu-devel] [RFC 7/7] vhost: Remove vhost_set_memory and children Dr. David Alan Gilbert (git)
2017-11-30 11:22 ` [Qemu-devel] [RFC 0/7] Rework vhost memory region updates Igor Mammedov
2017-11-30 12:08   ` Dr. David Alan Gilbert
2017-11-30 12:40     ` Igor Mammedov
2017-11-30 12:47       ` Dr. David Alan Gilbert
2017-11-30 12:58         ` Igor Mammedov
2017-11-30 13:06           ` Dr. David Alan Gilbert
2017-11-30 15:08             ` Igor Mammedov
2017-11-30 15:18               ` Dr. David Alan Gilbert
2017-11-30 15:32                 ` Igor Mammedov
2017-11-30 15:41                   ` Dr. David Alan Gilbert
2017-11-30 16:51               ` Greg Kurz
2017-12-01 10:02 ` Stefan Hajnoczi
2017-12-01 10:19   ` Dr. David Alan Gilbert
2017-12-01 14:22 ` [Qemu-devel] [RFC] vhost: check if ring mapping is still valid when building memmap Igor Mammedov
2017-12-07 18:17   ` Dr. David Alan Gilbert
2017-12-08 14:42     ` Igor Mammedov
2017-12-08 17:51       ` Dr. David Alan Gilbert
2017-12-11  9:37         ` Igor Mammedov
2017-12-11 11:03           ` Dr. David Alan Gilbert
2017-12-11 13:45             ` Igor Mammedov
2017-12-11 15:43               ` Dr. David Alan Gilbert
2017-12-08 20:45   ` Dr. David Alan Gilbert

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).