From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39059) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b3PeK-0007oZ-1O for qemu-devel@nongnu.org; Thu, 19 May 2016 11:14:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b3PeD-0006Ca-8C for qemu-devel@nongnu.org; Thu, 19 May 2016 11:14:06 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49117) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b3PeC-0006CH-Vo for qemu-devel@nongnu.org; Thu, 19 May 2016 11:14:01 -0400 References: <1462966873-30473-1-git-send-email-pbonzini@redhat.com> <1462966873-30473-4-git-send-email-pbonzini@redhat.com> <573DD795.4090201@redhat.com> From: Paolo Bonzini Message-ID: <2e17dba4-16dd-87bb-7542-4c938df473e8@redhat.com> Date: Thu, 19 May 2016 17:13:45 +0200 MIME-Version: 1.0 In-Reply-To: <573DD795.4090201@redhat.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="wqLWr9dhgD6bSn7ev6uTDQWMqaN2TRf9r" Subject: Re: [Qemu-devel] [PATCH 3/4] scsi-disk: introduce dma_readv and dma_writev List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eric Blake , qemu-devel@nongnu.org Cc: famz@redhat.com, hare@suse.de, vrozenfe@redhat.com This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --wqLWr9dhgD6bSn7ev6uTDQWMqaN2TRf9r From: Paolo Bonzini To: Eric Blake , qemu-devel@nongnu.org Cc: famz@redhat.com, hare@suse.de, vrozenfe@redhat.com Message-ID: <2e17dba4-16dd-87bb-7542-4c938df473e8@redhat.com> Subject: Re: [Qemu-devel] [PATCH 3/4] scsi-disk: introduce dma_readv and dma_writev References: <1462966873-30473-1-git-send-email-pbonzini@redhat.com> <1462966873-30473-4-git-send-email-pbonzini@redhat.com> <573DD795.4090201@redhat.com> In-Reply-To: <573DD795.4090201@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 19/05/2016 17:11, Eric Blake wrote: >> > @@ -339,14 +354,16 @@ static void scsi_do_read(SCSIDiskReq *r, int r= et) >> > if (r->req.sg) { >> > dma_acct_start(s->qdev.conf.blk, &r->acct, r->req.sg, BLOCK= _ACCT_READ); >> > r->req.resid -=3D r->req.sg->size; >> > - r->req.aiocb =3D dma_blk_read(s->qdev.conf.blk, r->req.sg, = r->sector, >> > - scsi_dma_complete, r); >> > + r->req.aiocb =3D dma_blk_io(blk_get_aio_context(s->qdev.con= f.blk), >> > + r->req.sg, r->sector, >> > + sdc->dma_readv, r, scsi_dma_compl= ete, r, >> > + DMA_DIRECTION_FROM_DEVICE); >=20 > Is it worth considering byte-based rather than sector-based interfaces,= > as part of this series? I think it's a separate change. I'm okay with doing the switch to byte-based interfaces first. Another related change would be to add a "mask" argument, so that I could generalize this: if (dbs->iov.size & ~BDRV_SECTOR_MASK) { qemu_iovec_discard_back(&dbs->iov, dbs->iov.size & ~BDRV_SECTOR_MASK); } For this series the mask needs to be the logical block size. Thanks, Paolo --wqLWr9dhgD6bSn7ev6uTDQWMqaN2TRf9r Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJXPdgsAAoJEL/70l94x66DHcUH/jUpo2f2YbULCF+qP9PicUTk EgVX2k+wCYKZGLTMm0mS8GkHfa0i2nYhApUZIHP+ftoAGO8jzP6j46eW14B5PX+0 H0S/qrW10UUuG9LK1GPrN29lqVUZZsBOsru35GW08Cw5E+ySj1kpRbmF2o4vbXC9 bn+b5e84BUIUzZ5sRvDR9+jp0IykQTozDpdm84FDfhsD8b9cI8hLICUcAW36+/fY gDSg9BTihpzb29DlKREEuNZCjAWXnT+RSq4WDTzXT/iFa3ovI9cI0UQpZjSOzcg8 Bv/TGvM5EjbXbzPgUtUm8Vrx6lKXU6zHGEWGO3aupqNUiAGPt1euMAd/mRtUkpY= =Qj6Z -----END PGP SIGNATURE----- --wqLWr9dhgD6bSn7ev6uTDQWMqaN2TRf9r--