Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp3325011pxj; Mon, 7 Jun 2021 08:00:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwoH/hKOxbORHQzbcXxLPx7hVvYfL+XCTYEoiyuHNSsV9B8YQFyuxFvbyYzN+hZl+banrHa X-Received: by 2002:aa7:c913:: with SMTP id b19mr19922836edt.323.1623078049464; Mon, 07 Jun 2021 08:00:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623078049; cv=none; d=google.com; s=arc-20160816; b=OyfXEQrtV9Ro9iQEZ240NLlZruAo6pPmSISprDuE1dBMiFOkkQsc2OTArzLmrrHS5/ 0+aaY2DgqsT6bXqNrJITLXbeF/BNg7QaFk7j0FzGar4e9FB9zR8uXIVSKisZf+wh3U9P fJWVANMXIot6PCMg1C2KOdeoEmjVGzCMrK06cSBv8JmtoURwiXe8vAlmZnVndQnFuiK2 DpGG3yTKw7bjfNsrxVD/phK7S20gLqpPWcQEbRN/yGSdzYbauJaHC/2DzeAjiVoY/e7d 0/NPEqbwjDGOXnrPIDI+FmawqXn0j2PUdu3VKuniX3L6w/TJGBsrxukguvAi0XGmOvTP R7jg== 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=mkL4psSj+prMNO7AohBJyTx+Q189qdo7fgANRpB5e+4=; b=vO347SSYvtoPPFiLXfPMxvMz0AxwF2Mxl8pKFFyMxHhYFIaLjcf78exua8p44IfLUI LYYNPiddi3YCnxg0+Ng5/f2CvpTcO5hSRz2ogqNcdCb0RcgadnozdyYYC2yzBAGmQ0yB 6vkSZECZmTU+ZH8684KdM3qUhz/+j2xXGN4ALo0O6d6dqNC1DTyTLk0AuSdEgm03Dnpu dP3d3z0MEqlIZNokWms8SRRja8TMklGzx6Ma1SvfHbbY+NxCNJu9mD4B/8+TBFYN4hN1 IhF9Xgg1XXPXU7YqpwRkv2n1Dvnli62xhRup5tMZyDoRPmXoSpwi6lVYtQD6nGlwYTmy CD/g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=lhaKoBcN; 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 h12si11991029ejc.216.2021.06.07.08.00.26; Mon, 07 Jun 2021 08:00:49 -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=lhaKoBcN; 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 S230331AbhFGO7H (ORCPT + 99 others); Mon, 7 Jun 2021 10:59:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59486 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230193AbhFGO7E (ORCPT ); Mon, 7 Jun 2021 10:59:04 -0400 Received: from mail-pg1-x52b.google.com (mail-pg1-x52b.google.com [IPv6:2607:f8b0:4864:20::52b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A85F9C061766; Mon, 7 Jun 2021 07:57:01 -0700 (PDT) Received: by mail-pg1-x52b.google.com with SMTP id 27so14010942pgy.3; Mon, 07 Jun 2021 07:57:01 -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=mkL4psSj+prMNO7AohBJyTx+Q189qdo7fgANRpB5e+4=; b=lhaKoBcNOuAsXD3pTAmPwsFop0hqZ7JU5MLd+d9L1no2Uoec0Qyp3qHl7oh02shWeI Jes/SZ8q3U+KfCNoq9c1Xrlmq8EXws4qXzfcpkEnMBLnTwTeOLVn57/5lNMv0IIQu936 eZ7O1rSFr9fTp5zpfxPADKjK5NrHWx5QoMUdi6NsRSJlWsZAOZ1xE13fUHg60coHCGz9 L8KTelBvvQsClf1NodL6YCelq4Ol69U2fD2Jwlp+Qg82jWdc6cKvPRG+8Dfwd10h1GXK eJIB1Vu38FzkxJlUAMfqjcOa76EjkPTv6FXCcrF7OHioGvvqCsPHt0hXWXzpcsKlznTI Ov6A== 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=mkL4psSj+prMNO7AohBJyTx+Q189qdo7fgANRpB5e+4=; b=FwS6i0uKIdwoGvDNri0MVo4csFd3/e/afhHykIx33QdV5oVVTlDVmnRfLXkAbR/ZOZ dqlubCpcoT8p6jf3rDaFvUtM411rFOqNt3zJzHB0g44L0EOd2gn57E4JNqdEe8dCrbp3 Thk1HCW8OHcok4kCyCuRrfX58zZOOq+MA1pcpJ8oaraabaoDOno32/6ccb6UKTDUZCpq KGJoajV9T0+0mC2QAwhLWb23ScCKklTc19wezbdyHF450EEnGoCUrWuVG2LkMbbmXG9h oZwxyl7rng+Ub/CKN5EBf/QqZ/ZstlN2/JczEdBY4BohM+z8ynWmDjflRPI2DVNhS9VM mFtw== X-Gm-Message-State: AOAM53203/RcrdZZty4YE+UJ6Aa2bSbHN3mjILh8WB9DPJ4NfRlNoYyJ 3yY0gvVQd4zS6Ub4hhV1Cgk= X-Received: by 2002:a65:6a51:: with SMTP id o17mr18093661pgu.170.1623077821197; Mon, 07 Jun 2021 07:57:01 -0700 (PDT) Received: from ?IPv6:2404:f801:0:5:8000::4b1? ([2404:f801:9000:1a:efea::4b1]) by smtp.gmail.com with ESMTPSA id p14sm9148073pgk.6.2021.06.07.07.56.48 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 07 Jun 2021 07:57:00 -0700 (PDT) Subject: Re: [RFC PATCH V3 08/11] swiotlb: Add bounce buffer remap address setting function 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-9-ltykernel@gmail.com> <20210607064312.GB24478@lst.de> From: Tianyu Lan Message-ID: <48516ce3-564c-419e-b355-0ce53794dcb1@gmail.com> Date: Mon, 7 Jun 2021 22:56:47 +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: <20210607064312.GB24478@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/7/2021 2:43 PM, Christoph Hellwig wrote: > On Sun, May 30, 2021 at 11:06:25AM -0400, Tianyu Lan wrote: >> From: Tianyu Lan >> >> For Hyper-V isolation VM with AMD SEV SNP, the bounce buffer(shared memory) >> needs to be accessed via extra address space(e.g address above bit39). >> Hyper-V code may remap extra address space outside of swiotlb. swiotlb_ >> bounce() needs to use remap virtual address to copy data from/to bounce >> buffer. Add new interface swiotlb_set_bounce_remap() to do that. > > Why can't you use the bus_dma_region ranges to remap to your preferred > address? > Thanks for your suggestion. These addresses in extra address space works as system memory mirror. The shared memory with host in Isolation VM needs to be accessed via extra address space which is above shared gpa boundary. During initializing swiotlb bounce buffer pool, only address bellow shared gpa boundary can be accepted by swiotlb API because it is treated as system memory and managed by memory management. This is why Hyper-V swiotlb bounce buffer pool needs to be allocated in Hyper-V code and map associated physical address in extra address space. The patch target is to add the new interface to set start virtual address of bounce buffer pool and let swiotlb boucne buffer copy function to use right virtual address for extra address space. bus_dma_region is to translate cpu physical address to dma address. It can't modify the virtual address of bounce buffer pool and let swiotlb code to copy data with right address. If some thing missed, please correct me. Thanks.