From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49166) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vsaqp-0003pG-Dg for qemu-devel@nongnu.org; Mon, 16 Dec 2013 11:17:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vsaqj-0000dr-U5 for qemu-devel@nongnu.org; Mon, 16 Dec 2013 11:16:59 -0500 Received: from mail-ea0-x234.google.com ([2a00:1450:4013:c01::234]:53610) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vsaqj-0000di-Mb for qemu-devel@nongnu.org; Mon, 16 Dec 2013 11:16:53 -0500 Received: by mail-ea0-f180.google.com with SMTP id f15so2366766eak.39 for ; Mon, 16 Dec 2013 08:16:52 -0800 (PST) Date: Mon, 16 Dec 2013 17:16:46 +0100 From: Stefan Hajnoczi Message-ID: <20131216161646.GE16756@stefanha-thinkpad.redhat.com> References: <1386678421-3500-1-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1386678421-3500-1-git-send-email-pbonzini@redhat.com> Subject: Re: [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: Paolo Bonzini Cc: qemu-devel@nongnu.org, stefanha@redhat.com 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 Thanks, applied to my block tree: https://github.com/stefanha/qemu/commits/block Stefan