On Tue, Dec 10, 2013 at 01:26:57PM +0100, Paolo Bonzini wrote: > Now that the memory API is thread-safe, we can use it in > virtio-blk-dataplane and replace hostmem.[ch]. This series does this, > and also changes the vring API to use VirtQueueElement (with an eye > towards migration). With this change, virtio-blk-dataplane is also safe > against memory hot-unplug. > > The next step would be to replace memory_region_find with > address_space_{map,unmap}, which handle dirtying of memory correctly. > However these APIs are not thread-safe yet, and neither is the handling > of dirty memory (Juan's patches may be a start here). > > Also, the usage of iov_discard_{front,back} may cause some complication > when we use address_space_{map,unmap}. We may have to change a bit the > logic in virtio-blk-dataplane to switch to address_space_{map,unmap}. > > v1->v2: introduce vring_free_element > > Paolo Bonzini (4): > vring: create a common function to parse descriptors > vring: factor common code for error exits > dataplane: change vring API to use VirtQueueElement > dataplane: replace hostmem with memory_region_find > > hw/block/dataplane/virtio-blk.c | 86 +++++------- > hw/virtio/dataplane/Makefile.objs | 2 +- > hw/virtio/dataplane/hostmem.c | 183 ------------------------ > hw/virtio/dataplane/vring.c | 253 > ++++++++++++++++++++++------------ > include/hw/virtio/dataplane/hostmem.h | 58 -------- > include/hw/virtio/dataplane/vring.h | 10 +- > 6 files changed, 203 insertions(+), 389 deletions(-) > delete mode 100644 hw/virtio/dataplane/hostmem.c > delete mode 100644 include/hw/virtio/dataplane/hostmem.h
Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com>