From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 89597C77B7C for ; Wed, 2 Jul 2025 13:54:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 147616B00D3; Wed, 2 Jul 2025 09:54:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 11DCE6B00D5; Wed, 2 Jul 2025 09:54:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 033A86B00E4; Wed, 2 Jul 2025 09:54:26 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id E834D6B00D3 for ; Wed, 2 Jul 2025 09:54:26 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 8B0C558581 for ; Wed, 2 Jul 2025 13:54:26 +0000 (UTC) X-FDA: 83619469332.21.E9924DD Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) by imf05.hostedemail.com (Postfix) with ESMTP id 89AD810000F for ; Wed, 2 Jul 2025 13:54:24 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=K1ifSy6d; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf05.hostedemail.com: domain of vannapurve@google.com designates 209.85.214.179 as permitted sender) smtp.mailfrom=vannapurve@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751464464; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=kJKh0bhmf7f4ICuPLjZddH/eg+QtQRmvEhkym3b4VZM=; b=T7MyqiDZTpUc2qaW/1gIRWZw2k5mgvE0axkOMoiw7qOQzW/UfrEFKPlMp5+QzWAs9BuGZS /yxWRPM3GojryHqS8ikjLIcnpAria6fygRAEUTu9dWGl+THcS20FgHWJf+Q01urPVUlFxL gzFstU71lVubgDVWpbE3JtNWK4fq4bg= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751464464; a=rsa-sha256; cv=none; b=M78MKhNxihY14T1xeEmrHZ+5YKnDNSWWtWRYO3I6gEexKaRw0ihtOPYg3nzTGJHqSV7BlT 7ejlj4isXypPmG92qTTaxwpu6zbsAc8zEhMdMRTPS2ZxV0MUesm2yU0+kDBoo1pSAQmF6k e3bXLWdO9rwS89dbMRqAcZoNchFvGaA= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=K1ifSy6d; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf05.hostedemail.com: domain of vannapurve@google.com designates 209.85.214.179 as permitted sender) smtp.mailfrom=vannapurve@google.com Received: by mail-pl1-f179.google.com with SMTP id d9443c01a7336-237f270513bso377505ad.1 for ; Wed, 02 Jul 2025 06:54:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1751464463; x=1752069263; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=kJKh0bhmf7f4ICuPLjZddH/eg+QtQRmvEhkym3b4VZM=; b=K1ifSy6dl6bx8szTok5hXBmEjYT9Memxn2HxSV5D5ckf1z5lTC7sgqfaON/ULlR+gJ uUBbiVcSUz9cMGHXYejLhRdn6AiSSSEEXyKs3GdIr8Nu6OAMVm/FkozrcH2uag5GDWp/ zRmWnIZdbn+S5viiYtNrhN4Sj1Jk+ffJAkEOWO5Tp2yGy+4tI9Ei57yiERmVC437+CMJ KwDzfKRAYSeVQHEPRaW7CekjBu13PZgJN6jLhbrahK67KUWJ9ar32LCHf/L9crxrdiyy gCic7uxOpmZH3UmG4SMy1MekCryd6nR9JqYMcmoLe8S8HJQER03rONlVRo1wtKo9jtdC JkKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751464463; x=1752069263; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kJKh0bhmf7f4ICuPLjZddH/eg+QtQRmvEhkym3b4VZM=; b=O5ejPswZMg9Ykff5VadgtPu3QfOKW+uQ6Bpo7L+PJAEN12AeptAsGpWoU7TDJyxLjf tZhHXM1jAIwLjEy9UiQRIfFcB6dbjzH2V9bc/zD7CrBV48Dg1N7HVQvjLHPo1pYqRXnY hPuD4O1FB34/B/SubeGnERv2ClZtNhBJmFbg6euVYNV6dGETYVUDupmlGXFmC7+zl55u EtgyWPV4MsaQQhiXNj9U2IaFl4/bTLer81vvYv1xe6LGSVQIYFSU6RjMvWQK9htUizuI l8pDzrmLH2ozj/HbYj4/m7xyblDXjb4+/4NQs06pgkLYIvhU+XjJiKc0M9+wURcxtcMP 20NQ== X-Forwarded-Encrypted: i=1; AJvYcCXAQ+e5gNSXmTDEthd4b8Z2j9mMBUjA+tMNWo/tddvxtHK/H3ULGxfsVjG0t8vmoD1Puecd8pRytw==@kvack.org X-Gm-Message-State: AOJu0YxEN9D5jbq0RRvMk4riE/5Xqk0Sb9bC1RNEDiwUPIJhmYr059jh BImGQ33hbld5sHydz3hsMStEy11As9WyA3LMKiG3lil3Bs4BclG7ItV+uNrfU48iaWkPekGwoKw TJ8C43ecCkhobJtvdmB2dx1kcwMKFHpolF5ktbS08 X-Gm-Gg: ASbGncsRZEVyu4d3aJvO60qH9A4JzeDZwHZuUk3dVAKEs3RA8sFJ6JSIEZzYYM6vlds VwTiJWupdB+Ge/j7p8ZjUfscT8PIjkMejZ2nmAbZXZWkZI3/ZTi1I3IvSACyzmeixl7yodVr0Fi /RVewjUYgs62quxxyOwlIQuWvpwA+zobHBiX1S1CafJZdyc31fo+ttl8o4xWr/56s4I8rF8vF7q 4KM X-Google-Smtp-Source: AGHT+IHkpkBgJvS1R3RkrtvsvOEZZf/jKPLYOGmrsQsZdhoqLh6xPOUqe8mNaDmp8JgFozGwZ+2Sa6aXZMCU210+49A= X-Received: by 2002:a17:903:1ac5:b0:215:9ab0:402 with SMTP id d9443c01a7336-23c5ffc0004mr6060785ad.18.1751464462881; Wed, 02 Jul 2025 06:54:22 -0700 (PDT) MIME-Version: 1.0 References: <9502503f-e0c2-489e-99b0-94146f9b6f85@amd.com> <20250624130811.GB72557@ziepe.ca> In-Reply-To: From: Vishal Annapurve Date: Wed, 2 Jul 2025 06:54:10 -0700 X-Gm-Features: Ac12FXydqjoi-wuuZAMsDh9iHHkaJIooZH0B4_yVoZTkA8pqs4QeyD27Ae8Anyg Message-ID: Subject: Re: [RFC PATCH v2 04/51] KVM: guest_memfd: Introduce KVM_GMEM_CONVERT_SHARED/PRIVATE ioctls To: Yan Zhao Cc: Jason Gunthorpe , Alexey Kardashevskiy , Fuad Tabba , Ackerley Tng , kvm@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, x86@kernel.org, linux-fsdevel@vger.kernel.org, ajones@ventanamicro.com, akpm@linux-foundation.org, amoorthy@google.com, anthony.yznaga@oracle.com, anup@brainfault.org, aou@eecs.berkeley.edu, bfoster@redhat.com, binbin.wu@linux.intel.com, brauner@kernel.org, catalin.marinas@arm.com, chao.p.peng@intel.com, chenhuacai@kernel.org, dave.hansen@intel.com, david@redhat.com, dmatlack@google.com, dwmw@amazon.co.uk, erdemaktas@google.com, fan.du@intel.com, fvdl@google.com, graf@amazon.com, haibo1.xu@intel.com, hch@infradead.org, hughd@google.com, ira.weiny@intel.com, isaku.yamahata@intel.com, jack@suse.cz, james.morse@arm.com, jarkko@kernel.org, jgowans@amazon.com, jhubbard@nvidia.com, jroedel@suse.de, jthoughton@google.com, jun.miao@intel.com, kai.huang@intel.com, keirf@google.com, kent.overstreet@linux.dev, kirill.shutemov@intel.com, liam.merwick@oracle.com, maciej.wieczor-retman@intel.com, mail@maciej.szmigiero.name, maz@kernel.org, mic@digikod.net, michael.roth@amd.com, mpe@ellerman.id.au, muchun.song@linux.dev, nikunj@amd.com, nsaenz@amazon.es, oliver.upton@linux.dev, palmer@dabbelt.com, pankaj.gupta@amd.com, paul.walmsley@sifive.com, pbonzini@redhat.com, pdurrant@amazon.co.uk, peterx@redhat.com, pgonda@google.com, pvorel@suse.cz, qperret@google.com, quic_cvanscha@quicinc.com, quic_eberman@quicinc.com, quic_mnalajal@quicinc.com, quic_pderrin@quicinc.com, quic_pheragu@quicinc.com, quic_svaddagi@quicinc.com, quic_tsoni@quicinc.com, richard.weiyang@gmail.com, rick.p.edgecombe@intel.com, rientjes@google.com, roypat@amazon.co.uk, rppt@kernel.org, seanjc@google.com, shuah@kernel.org, steven.price@arm.com, steven.sistare@oracle.com, suzuki.poulose@arm.com, thomas.lendacky@amd.com, usama.arif@bytedance.com, vbabka@suse.cz, viro@zeniv.linux.org.uk, vkuznets@redhat.com, wei.w.wang@intel.com, will@kernel.org, willy@infradead.org, xiaoyao.li@intel.com, yilun.xu@intel.com, yuzenghui@huawei.com, zhiquan1.li@intel.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: hip8kjimpnz8rz3jgy4pu11rri3si9xq X-Rspamd-Queue-Id: 89AD810000F X-Rspam-User: X-Rspamd-Server: rspam07 X-HE-Tag: 1751464464-874209 X-HE-Meta: U2FsdGVkX19/b5+zYbqjCmIGHqapXB8m/kLPrBbcB9t4hCNfzyKBXk4poZ++PaJXd/SeTN7+YQwO7wiEWLof+DoaZ/SmlDLk7aGU4EG0Mu3aVviETEQK2cFpooYp2M50edHj9cnRoI3EhYXQmGGXSYaer9C3FVIT3Bea4D1hQxFGSnmnoeWQtpoF6etybLJbmbZMMICQDqJ3CIxIhad1Emb7Fc1HmHCTkZ1hoeSApCpvVBc8LCrvjnZQ461wLQTJji+N+ydUgdKqRma1iEIkARIazhpXpQfxd4Nt+3c7VlUZbHVTFqXb0z70wFx3R6u0V0ZBEDBYqVNR1257wF6tysiPrcxpJTChkrfBGeIstkXoRh4JFjeEVa0Yr3xrhM325rO/nWUcij/PeNiMrh12oJ0swexN8XFYiXLv30LkIUfYF6ETYOt0kseE+GpHYB4uyKvtPO/F3SvbycjdaxXA4Gri1c3r205/y1lj/ADX60FsUfIhXsbtYKXW3o10IXofWrWoFBqXa1GMtqvOAF4zQ7WMq/9Cg/r9oONaSWsRfePHj9c9QrxXfIwR2QhG/ZF9qYADo2uJQnXt6lAiFeIlo3NlsuJLdRlpOcvoiioMIQIB095x41P/XehZZ3maUHMgBOAdLzeidN/iB7d5uaWP5ukjEkfa+Ll6tTrX6N1MoJiF88XlzbtIRFdSyy9JxDzu2a889ThwwIVjMkzcwIQRTUVS8LGSokJMgR9c1AoMpdM1gFRF6LawH9zHnLQ0wSxNzodQFGj3UOGYrFRuv99VhPGm334aavIp1t0RRLHSHE1Nv1/B3Wi5Uxz1FSCygubPlH0C79Se3wTsBgFs6YA10OftP+e8mYvWn3TsF05TQgoSzWDYKvtveaGlDac5R4OMZkWzUh4mCkE0oc4XNHEi3CjkbZokFZYamFMp+hgCBefVqWT5zyLCIHeRmAHm1UDvz6XZukQ6Ie4msXi+7rH 9jeHoNjg iylnw1Rdjiw8AJcQiPbxn0/MpVbFlNDoN7ci68ri8AfDYqQ2BYlEGZFpMTywW5tQVii/FmyGzCKzoRQLE6UwhofmyJu7IV5gJUoAlbijQFRNJC8H2HxYObzBNYvrWt6D6aV+cf2577z+PZ+lVSHjjNQQmj7c7ZPB59sG8g6ezkGfCcLiv21jesc/u0pq15UP/mEGLLijJP5rA2PJtrcyjMez53r9qwZMx4UAr6dJkhvWyYgNoh3QIxgwDabbZ0eKVWJ8eGuGyRBGykC44MR8A5Z4S7o61Pokj90Ev6hPOo65XGjQv3BWsI02TH7GiSYRpU0x6RbE7yRq1KElaCZj4gEZg/n/B9XI3EHTE X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Wed, Jul 2, 2025 at 1:38=E2=80=AFAM Yan Zhao wrot= e: > > On Tue, Jun 24, 2025 at 07:10:38AM -0700, Vishal Annapurve wrote: > > On Tue, Jun 24, 2025 at 6:08=E2=80=AFAM Jason Gunthorpe = wrote: > > > > > > On Tue, Jun 24, 2025 at 06:23:54PM +1000, Alexey Kardashevskiy wrote: > > > > > > > Now, I am rebasing my RFC on top of this patchset and it fails in > > > > kvm_gmem_has_safe_refcount() as IOMMU holds references to all these > > > > folios in my RFC. > > > > > > > > So what is the expected sequence here? The userspace unmaps a DMA > > > > page and maps it back right away, all from the userspace? The end > > > > result will be the exactly same which seems useless. And IOMMU TLB > > > > As Jason described, ideally IOMMU just like KVM, should just: > > 1) Directly rely on guest_memfd for pinning -> no page refcounts taken > > by IOMMU stack > In TDX connect, TDX module and TDs do not trust VMM. So, it's the TDs to = inform > TDX module about which pages are used by it for DMAs purposes. > So, if a page is regarded as pinned by TDs for DMA, the TDX module will f= ail the > unmap of the pages from S-EPT. > > If IOMMU side does not increase refcount, IMHO, some way to indicate that > certain PFNs are used by TDs for DMA is still required, so guest_memfd ca= n > reject the request before attempting the actual unmap. So it looks like guest_memfd will need an interface with KVM/IOMMU backends to check if unmapping can succeed. And if unmapping still fails, there should be a way for KVM/IOMMU backends to kill the TD and any TDIs bound to that TD. > Otherwise, the unmap of TD-DMA-pinned pages will fail. > > Upon this kind of unmapping failure, it also doesn't help for host to ret= ry > unmapping without unpinning from TD. >