From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxime Coquelin Subject: Re: [PATCH 2/6] vhost: get guest/host physical address mappings Date: Tue, 23 Aug 2016 15:25:33 +0200 Message-ID: <713fbf24-b451-5ffa-0bdf-e8d1a8624bcb@redhat.com> References: <1471939839-29778-1-git-send-email-yuanhan.liu@linux.intel.com> <1471939839-29778-3-git-send-email-yuanhan.liu@linux.intel.com> <13f37c6e-b389-a758-81cd-861db7337e1f@redhat.com> <20160823123211.GK30752@yliu-dev.sh.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: dev@dpdk.org To: Yuanhan Liu Return-path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id 7430E11C5 for ; Tue, 23 Aug 2016 15:25:37 +0200 (CEST) In-Reply-To: <20160823123211.GK30752@yliu-dev.sh.intel.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 08/23/2016 02:32 PM, Yuanhan Liu wrote: >>> + >>> > >+ /* FIXME */ >>> > >+ RTE_LOG(INFO, VHOST_CONFIG, ":: %u ::\n", pre_read); >> > For my information, what is the purpose of pre_read? > Again, I put a FIXME here, but I forgot to add some explanation. > > Here is the thing: the read will make sure the kernel populate the > corresponding PTE entry, so that rte_mem_virt2phy() will return proper > physical address, otherwise, invalid value is returned. > > I can't simply do the read but do not actually reference/consume it. > Otherwise, the compiler will treat it as some noops and remove it. > > An ugly RTE_LOG will make sure the read operation is not eliminated. > I'm seeking a more proper way to achieve that. Maybe I can add a new > field in virtio_net structure and store it there. > > Or, do you have better ideas? This behavior is pretty twisted, no? Shouldn't be rte_mem_virt2phy() role to ensure returning a valid value? I have no better idea for now, but I will think about it. Regards, Maxime