From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7B933A00E6 for ; Thu, 11 Jul 2019 11:44:27 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 3A4DD4C8E; Thu, 11 Jul 2019 11:44:27 +0200 (CEST) Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id D9F913772 for ; Thu, 11 Jul 2019 11:44:25 +0200 (CEST) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 536E14E93D; Thu, 11 Jul 2019 09:44:25 +0000 (UTC) Received: from [10.72.12.56] (ovpn-12-56.pek2.redhat.com [10.72.12.56]) by smtp.corp.redhat.com (Postfix) with ESMTP id 8D1F3600CD; Thu, 11 Jul 2019 09:44:21 +0000 (UTC) To: "Liu, Yong" , "Bie, Tiwei" , "maxime.coquelin@redhat.com" , "dev@dpdk.org" References: <20190708171320.38802-1-yong.liu@intel.com> <20190708171320.38802-3-yong.liu@intel.com> <7de99b4b-7538-5694-36ee-c33edc17f3d2@redhat.com> <86228AFD5BCD8E4EBFD2B90117B5E81E63335C49@SHSMSX103.ccr.corp.intel.com> From: Jason Wang Message-ID: <0aa6d82b-1ba1-ebcc-b7ab-80c84930e45c@redhat.com> Date: Thu, 11 Jul 2019 17:44:19 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2 MIME-Version: 1.0 In-Reply-To: <86228AFD5BCD8E4EBFD2B90117B5E81E63335C49@SHSMSX103.ccr.corp.intel.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Thu, 11 Jul 2019 09:44:25 +0000 (UTC) Subject: Re: [dpdk-dev] [RFC PATCH 02/13] add vhost packed ring fast enqueue function X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 2019/7/11 下午5:37, Liu, Yong wrote: > >> -----Original Message----- >> From: Jason Wang [mailto:jasowang@redhat.com] >> Sent: Thursday, July 11, 2019 4:35 PM >> To: Liu, Yong ; Bie, Tiwei ; >> maxime.coquelin@redhat.com; dev@dpdk.org >> Subject: Re: [dpdk-dev] [RFC PATCH 02/13] add vhost packed ring fast enqueue >> function >> >> >> On 2019/7/9 上午1:13, Marvin Liu wrote: >>> In fast enqueue function, will first check whether descriptors are >>> cache aligned. Fast enqueue function will check prerequisites in the >>> beginning. Fast enqueue function do not support chained mbufs, normal >>> function will handle that. >>> >>> Signed-off-by: Marvin Liu >>> >>> + len = descs[avail_idx].len; >>> + len1 = descs[avail_idx + 1].len; >>> + len2 = descs[avail_idx + 2].len; >>> + len3 = descs[avail_idx + 3].len; >>> + >>> + if (unlikely((pkts[0]->pkt_len > (len - buf_offset)) | >>> + (pkts[1]->pkt_len > (len1 - buf_offset)) | >>> + (pkts[2]->pkt_len > (len2 - buf_offset)) | >>> + (pkts[3]->pkt_len > (len3 - buf_offset)))) >>> + return -1; >>> + >>> + desc_addr = vhost_iova_to_vva(dev, vq, >>> + descs[avail_idx].addr, >>> + &len, >>> + VHOST_ACCESS_RW); >>> + >>> + desc_addr1 = vhost_iova_to_vva(dev, vq, >>> + descs[avail_idx + 1].addr, >>> + &len1, >>> + VHOST_ACCESS_RW); >>> + >>> + desc_addr2 = vhost_iova_to_vva(dev, vq, >>> + descs[avail_idx + 2].addr, >>> + &len2, >>> + VHOST_ACCESS_RW); >>> + >>> + desc_addr3 = vhost_iova_to_vva(dev, vq, >>> + descs[avail_idx + 3].addr, >>> + &len3, >>> + VHOST_ACCESS_RW); >> >> How can you guarantee that len3 is zero after this? >> > Jason, > Here just guarantee host mapped length of desc is same as value in desc. > If value of len matched, data can be directly copied. > > If anything wrong in address conversion, value of len will be mismatched. > This case will be handled by normal path. > > Thanks, > Marvin Right, I miss-read the code. Thanks > >> Thanks