From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932158AbdIYCEd (ORCPT ); Sun, 24 Sep 2017 22:04:33 -0400 Received: from mx1.redhat.com ([209.132.183.28]:53790 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753388AbdIYCEb (ORCPT ); Sun, 24 Sep 2017 22:04:31 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 97670883CA Authentication-Results: ext-mx02.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx02.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=jasowang@redhat.com Subject: Re: [PATCH net-next RFC 2/5] vhost: introduce helper to prefetch desc index To: Stefan Hajnoczi Cc: mst@redhat.com, virtualization@lists.linux-foundation.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, kvm@vger.kernel.org References: <1506067355-5771-1-git-send-email-jasowang@redhat.com> <1506067355-5771-3-git-send-email-jasowang@redhat.com> <20170922090257.GB9243@stefanha-x1.localdomain> From: Jason Wang Message-ID: <33bdcceb-9f12-e5e9-4b4d-6d619e17a206@redhat.com> Date: Mon, 25 Sep 2017 10:04:13 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <20170922090257.GB9243@stefanha-x1.localdomain> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 25 Sep 2017 02:04:31 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2017年09月22日 17:02, Stefan Hajnoczi wrote: > On Fri, Sep 22, 2017 at 04:02:32PM +0800, Jason Wang wrote: >> diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c >> index f87ec75..8424166d 100644 >> --- a/drivers/vhost/vhost.c >> +++ b/drivers/vhost/vhost.c >> @@ -2437,6 +2437,61 @@ struct vhost_msg_node *vhost_dequeue_msg(struct vhost_dev *dev, >> } >> EXPORT_SYMBOL_GPL(vhost_dequeue_msg); >> >> +int vhost_prefetch_desc_indices(struct vhost_virtqueue *vq, >> + struct vring_used_elem *heads, >> + u16 num, bool used_update) > Missing doc comment. Will fix this. > >> +{ >> + int ret, ret2; >> + u16 last_avail_idx, last_used_idx, total, copied; >> + __virtio16 avail_idx; >> + struct vring_used_elem __user *used; >> + int i; > The following variable names are a little confusing: > > last_avail_idx vs vq->last_avail_idx. last_avail_idx is a wrapped > avail->ring[] index, vq->last_avail_idx is a free-running counter. The > same for last_used_idx vs vq->last_used_idx. > > num argument vs vq->num. The argument could be called nheads instead to > make it clear that this is heads[] and not the virtqueue size. > > Not a bug but it took me a while to figure out what was going on. I admit the name is confusing. Let me try better ones in V2. Thanks