Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp2784904pxj; Mon, 14 Jun 2021 07:09:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzqoGOTaruN3GWZMLNt71SEVlB9OLmaYpCQw31oDccauMQJMS1bbtuosUNnrGWcsmllpwM+ X-Received: by 2002:aa7:d5d6:: with SMTP id d22mr17088703eds.302.1623679765883; Mon, 14 Jun 2021 07:09:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623679765; cv=none; d=google.com; s=arc-20160816; b=zXC+Avoh2xOTQSK2qEfDXPRVF/psETMBA2MupofamqRJRYcoECdwMCGB0gNXRULRYn yKpSwDePzeH+BTb3t5puXOSQJdvj8Nxl9F40iTvW4XgOeWPgWgIWxZkR7Z7Py9HiKjo6 4By6GTVuI86nT5Aog41dlqupAAJzao2bUa04Lat1MTu3gsSVTxqXw5PTLweCaGCiXI1u 6+4OQk2qvOVrjwc4mMlpsQClwJYxvjjRH7i65s7L0N6WWwTxZewZP78d3Uh2NYwv7zBu qY1N8O+vEOZY1G73Vi+pNGw2HsZWb/5+LVlweqiXzPW4olG5y1AGa3yoEtHhiKY5sXWJ jvKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature; bh=yJB+B/uqyT8Yj8oTe4yW/iwZF1PlGwEGbYmCRyf4VPs=; b=JtbeceJSynYvCGtX8ZGpfhrqBqC/hhtuCoDyrCU2w4mkKRRjOPOarn3XkSMxraKTFZ YrVI0lVZQ590Ck6wt2KoocyByG4E1/dCkvVaMqTme/ZD/ggp51MmC/edwTMjZoVV7+Lq 9ZqtH+Pwd3iPGdPOLdAjFDcCa/MB55atX3fAUfkUH7wrYbqtOdw6VgbWOwGQUHKS0yMi /hiUFPSH8aBYCW4e7tKr9HNCA9YzxNEQC+X4Kjc3PxHKOmDoaXYMKPZvU8na1qmiCSdW CJbREey28CdCcfcJU9hGmW/qWQO3ZyfH+uB8i3alsZRdyAqifkJBBuG4AdCoOgs0zYO4 oD5A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=WH301YVk; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id by18si11077488ejc.356.2021.06.14.07.09.03; Mon, 14 Jun 2021 07:09:25 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=WH301YVk; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232761AbhFNOH1 (ORCPT + 99 others); Mon, 14 Jun 2021 10:07:27 -0400 Received: from mail-pg1-f172.google.com ([209.85.215.172]:40837 "EHLO mail-pg1-f172.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234235AbhFNOHZ (ORCPT ); Mon, 14 Jun 2021 10:07:25 -0400 Received: by mail-pg1-f172.google.com with SMTP id m2so2003980pgk.7; Mon, 14 Jun 2021 07:05:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=yJB+B/uqyT8Yj8oTe4yW/iwZF1PlGwEGbYmCRyf4VPs=; b=WH301YVkd+NT/H+jeV6pcNYHdcjqtaqvIdtbpu0fkkYAmJ7rw0/VnTDAhSvIgbv4c0 oazbEKmF+c7M1WRPaxGMZU5xoCLTUJgtdxU9APUEzGlzXnchk40ZNp3QFWLwuNrBu83j e2ylhCoSYk62pl120eNuhLwuvfMbaggtn+gXAD60VuMlb9RO9aR6yjsww4EENQAJey5G 2ZzxWZw9pL2yOQEQRAidkW9g0ErNbkj+wegNJA0H7wJ55BH2rzTM1HnAVz1Nh8SFyWFK I7BbhU7Q2hwWxihuFlWkGm+R8myZotEgjwBltHJuCwGgHkDJ5/gTI6uquz0y/0l8g0ap 0ueg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=yJB+B/uqyT8Yj8oTe4yW/iwZF1PlGwEGbYmCRyf4VPs=; b=O7SsglrsisO5g9SvVXVyGOQsdgDPrGN+Z/o6DksgNz+HXxec6qxB6E5eZ5uSIxMAK/ hDgOrergHjYSlDA4avlmAJDSas3u8k29m7ZG6CujVv9WfbreHSG6yFU1VMMwcNE5+fRX 7EaiqmvjtvkT+8vP7jN33UWI0BPIh6xa2Kd421NuiUxSrhzBgPUmX51f3yjUFqnThOhX fFcQ8r4jA8UCOkWLcydLpvmMvoyTudTVn02RtQHtJUi25CBAQ6b78KzHLv/zTuSEBfR6 Dvrt3VwDlxQRxuZHH6mHWweVx19h34MfBIHTgTLoH0mMu2M4avUkgMgLqZd+r5AmhgZN I5Ug== X-Gm-Message-State: AOAM531prSayypQTp290EodSMoY1aDSwj3O+bnpNnPDgEU2a6wbQkqLE zUAgPbpplvXgp/FTg+Hs4DY= X-Received: by 2002:a63:5760:: with SMTP id h32mr17200205pgm.367.1623679460361; Mon, 14 Jun 2021 07:04:20 -0700 (PDT) Received: from ?IPv6:2404:f801:0:5:8000::4b1? ([2404:f801:9000:1a:efea::4b1]) by smtp.gmail.com with ESMTPSA id x206sm12950089pfc.211.2021.06.14.07.04.08 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 14 Jun 2021 07:04:20 -0700 (PDT) Subject: Re: [RFC PATCH V3 10/11] HV/Netvsc: Add Isolation VM support for netvsc driver To: Christoph Hellwig Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com, wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com, arnd@arndb.de, dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, kirill.shutemov@linux.intel.com, rppt@kernel.org, hannes@cmpxchg.org, cai@lca.pw, krish.sadhukhan@oracle.com, saravanand@fb.com, Tianyu.Lan@microsoft.com, konrad.wilk@oracle.com, m.szyprowski@samsung.com, robin.murphy@arm.com, boris.ostrovsky@oracle.com, jgross@suse.com, sstabellini@kernel.org, joro@8bytes.org, will@kernel.org, xen-devel@lists.xenproject.org, davem@davemloft.net, kuba@kernel.org, jejb@linux.ibm.com, martin.petersen@oracle.com, iommu@lists.linux-foundation.org, linux-arch@vger.kernel.org, linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org, netdev@vger.kernel.org, vkuznets@redhat.com, thomas.lendacky@amd.com, brijesh.singh@amd.com, sunilmut@microsoft.com References: <20210530150628.2063957-1-ltykernel@gmail.com> <20210530150628.2063957-11-ltykernel@gmail.com> <20210607065007.GE24478@lst.de> <279cb4bf-c5b6-6db9-0f1e-9238e902c8f2@gmail.com> <20210614070903.GA29976@lst.de> From: Tianyu Lan Message-ID: Date: Mon, 14 Jun 2021 22:04:06 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: <20210614070903.GA29976@lst.de> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 6/14/2021 3:09 PM, Christoph Hellwig wrote: > On Mon, Jun 07, 2021 at 11:21:20PM +0800, Tianyu Lan wrote: >>> dma_map_single can only be used on page baked memory, and if this is >>> using page backed memory you wouldn't need to do thee phys_to_virt >>> tricks. Can someone explain the mess here in more detail? >> >> Sorry. Could you elaborate the issue? These pages in the pb array are not >> allocated by DMA API and using dma_map_single() here is to map these pages' >> address to bounce buffer physical address. > > dma_map_single just calls dma_map_page using virt_to_page. So this > can't work on addresses not in the kernel linear mapping. > The pages in the hv_page_buffer array here are in the kernel linear mapping. The packet sent to host will contain an array which contains transaction data. In the isolation VM, data in the these pages needs to be copied to bounce buffer and so call dma_map_single() here to map these data pages with bounce buffer. The vmbus has ring buffer where the send/receive packets are copied to/from. The ring buffer has been remapped to the extra space above shared gpa boundary/vTom during probing Netvsc driver and so not call dma map function for vmbus ring buffer.