From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47529) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VqMPF-00084R-M9 for qemu-devel@nongnu.org; Tue, 10 Dec 2013 07:27:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VqMP7-0002fr-4s for qemu-devel@nongnu.org; Tue, 10 Dec 2013 07:27:17 -0500 Received: from mail-ea0-x230.google.com ([2a00:1450:4013:c01::230]:62198) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VqMP6-0002fd-VQ for qemu-devel@nongnu.org; Tue, 10 Dec 2013 07:27:09 -0500 Received: by mail-ea0-f176.google.com with SMTP id h14so2188898eaj.35 for ; Tue, 10 Dec 2013 04:27:07 -0800 (PST) Sender: Paolo Bonzini From: Paolo Bonzini Date: Tue, 10 Dec 2013 13:26:57 +0100 Message-Id: <1386678421-3500-1-git-send-email-pbonzini@redhat.com> Subject: [Qemu-devel] [PATCH v2 0/4] dataplane: use more of the generic virtio data structures, drop hostmem List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: stefanha@redhat.com 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 -- 1.8.3.1