From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55092) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bNG1l-0001SA-PE for qemu-devel@nongnu.org; Wed, 13 Jul 2016 05:00:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bNG1i-0002A3-GV for qemu-devel@nongnu.org; Wed, 13 Jul 2016 05:00:21 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:53370) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bNG1i-00029f-7t for qemu-devel@nongnu.org; Wed, 13 Jul 2016 05:00:18 -0400 Received: from pps.filterd (m0098409.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.11/8.16.0.11) with SMTP id u6D8ro7d014831 for ; Wed, 13 Jul 2016 05:00:16 -0400 Received: from e06smtp10.uk.ibm.com (e06smtp10.uk.ibm.com [195.75.94.106]) by mx0a-001b2d01.pphosted.com with ESMTP id 24539bbd95-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Wed, 13 Jul 2016 05:00:16 -0400 Received: from localhost by e06smtp10.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 13 Jul 2016 10:00:12 +0100 Received: from b06cxnps4076.portsmouth.uk.ibm.com (d06relay13.portsmouth.uk.ibm.com [9.149.109.198]) by d06dlp03.portsmouth.uk.ibm.com (Postfix) with ESMTP id 0C9CE1B08080 for ; Wed, 13 Jul 2016 10:01:26 +0100 (BST) Received: from d06av02.portsmouth.uk.ibm.com (d06av02.portsmouth.uk.ibm.com [9.149.37.228]) by b06cxnps4076.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id u6D904Mq9044452 for ; Wed, 13 Jul 2016 09:00:05 GMT Received: from d06av02.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av02.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id u6D904cZ016854 for ; Wed, 13 Jul 2016 03:00:04 -0600 Date: Wed, 13 Jul 2016 11:00:02 +0200 From: Cornelia Huck In-Reply-To: <1468386588-26584-1-git-send-email-famz@redhat.com> References: <1468386588-26584-1-git-send-email-famz@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Message-Id: <20160713110002.551216e4.cornelia.huck@de.ibm.com> Subject: Re: [Qemu-devel] [PATCH v4 0/6] virtio: Merge virtio-{blk, scsi} host notifier handling paths List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Fam Zheng Cc: qemu-devel@nongnu.org, kwolf@redhat.com, pbonzini@redhat.com, stefanha@redhat.com, mst@redhat.com On Wed, 13 Jul 2016 13:09:42 +0800 Fam Zheng wrote: > v4: Drop patch 1. [Cornelia] > Add the last trivial patch. > > v3: Rebase to master. > Squash 4 into 3. [Paolo] > Add comment and commit message. [Stefan] > Add Stefan's r-b in patch 1 and 2. > > v2: Only convert virtio-{blk,scsi}. [Paolo] > > The benifit of this is we don't use event_notifier_set_handler even in > non-dataplane now, which in turn makes virtio-blk and virtio-scsi follow block > layer aio context semantics. Specifically, I/O requests must come from > blk_get_aio_context(blk) events, rather than iohandler_get_aio_context(), so > that bdrv_drained_begin/end will work as expected. > > Patch 4 reverts the hack (ab27c3b5e7) we added for 2.6. Lately, commit > b880481579 added another pair of bdrv_drained_begin/end so the crash cannot > happen even without ab27c3b5e7, but in order to avoid leaking requests, patch > two is still a must. > > Fam Zheng (6): > virtio: Add typedef for handle_output > virtio: Introduce virtio_add_queue_aio > virtio-blk: Call virtio_add_queue_aio > virtio-scsi: Call virtio_add_queue_aio > Revert "mirror: Workaround for unexpected iohandler events during > completion" > virtio-scsi: Replace HandleOutput typedef > > block/mirror.c | 9 --------- > hw/block/virtio-blk.c | 2 +- > hw/scsi/virtio-scsi.c | 14 ++++++------- > hw/virtio/virtio.c | 45 +++++++++++++++++++++++++++++++++-------- > include/hw/virtio/virtio-scsi.h | 6 ++---- > include/hw/virtio/virtio.h | 8 ++++++-- > 6 files changed, 52 insertions(+), 32 deletions(-) Lightly tested with virtio-blk on s390x. Survives some disk I/O and managedsave/restore via libvirt.