From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59852) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZfJg3-0008Gq-JX for qemu-devel@nongnu.org; Thu, 24 Sep 2015 23:28:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZfJg0-000118-Do for qemu-devel@nongnu.org; Thu, 24 Sep 2015 23:28:03 -0400 Received: from mx1.redhat.com ([209.132.183.28]:32984) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZfJg0-000110-8C for qemu-devel@nongnu.org; Thu, 24 Sep 2015 23:28:00 -0400 References: <1442563270-11615-1-git-send-email-jasowang@redhat.com> <560422A8.2050401@hpe.com> From: Jason Wang Message-ID: <5604BF3E.6040608@redhat.com> Date: Fri, 25 Sep 2015 11:27:58 +0800 MIME-Version: 1.0 In-Reply-To: <560422A8.2050401@hpe.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 1/3] virtio: introduce virtqueue_unmap_sg() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Andrew James , qemu-devel@nongnu.org On 09/25/2015 12:19 AM, Andrew James wrote: > On 09/18/2015 02:01 AM, Jason Wang wrote: >> > Factor out sg unmapping logic. This will be reused by the patch that >> > can discard descriptor. >> > >> > Cc: Michael S. Tsirkin >> > Signed-off-by: Jason Wang >> > --- >> > hw/virtio/virtio.c | 15 ++++++++++----- >> > 1 file changed, 10 insertions(+), 5 deletions(-) >> > >> > diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c >> > index 0832db9..eb8d5ca 100644 >> > --- a/hw/virtio/virtio.c >> > +++ b/hw/virtio/virtio.c >> > @@ -243,15 +243,12 @@ int virtio_queue_empty(VirtQueue *vq) >> > return vring_avail_idx(vq) == vq->last_avail_idx; >> > } >> > >> > -void virtqueue_fill(VirtQueue *vq, const VirtQueueElement *elem, >> > - unsigned int len, unsigned int idx) >> > +static void virtqueue_unmap_sg(VirtQueue *vq, const VirtQueueElement *elem, >> > + unsigned int len) >> > { >> > unsigned int offset; >> > int i; >> > >> > - trace_virtqueue_fill(vq, elem, len, idx); >> > - >> > - offset = 0; >> > for (i = 0; i < elem->in_num; i++) { >> > size_t size = MIN(len - offset, elem->in_sg[i].iov_len); >> > > Should the "offset = 0" really be dropped here? Probably not. > Seems like it ends > up uninitialized. GCC thinks it might too. > Yes, will keep the offset initialization in V2. Thanks