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 89E45C77B7C for ; Tue, 24 Jun 2025 13:08:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2285C6B0089; Tue, 24 Jun 2025 09:08:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 200186B0095; Tue, 24 Jun 2025 09:08:17 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 115F76B0099; Tue, 24 Jun 2025 09:08:17 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id F2EA66B0089 for ; Tue, 24 Jun 2025 09:08:16 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id B7BE0C079F for ; Tue, 24 Jun 2025 13:08:16 +0000 (UTC) X-FDA: 83590322592.19.6FFDD2A Received: from mail-qt1-f177.google.com (mail-qt1-f177.google.com [209.85.160.177]) by imf15.hostedemail.com (Postfix) with ESMTP id C6D9BA0016 for ; Tue, 24 Jun 2025 13:08:14 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=ziepe.ca header.s=google header.b=KScQuqQM; spf=pass (imf15.hostedemail.com: domain of jgg@ziepe.ca designates 209.85.160.177 as permitted sender) smtp.mailfrom=jgg@ziepe.ca; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750770494; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=iohPe+c6ZnzjeGz7SNDU9v8Z6P04ovt1VqFpt7Vikhc=; b=kDFv5NM1Cj80pQ5qpgfS8M//MPGWm+h9G28Hzgv3eVcKTkgk9oOfgl+wn6POttKq1+DOEJ j8gZCHR2adtAcMuhWc+rH6kTzysI64ReeTSby+wI9t1Qz8qzKPTkrDlGrGCZzMZSxT6kIo UmbwCCVii50H7w8tGwflGFQGJ9MT7YY= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=ziepe.ca header.s=google header.b=KScQuqQM; spf=pass (imf15.hostedemail.com: domain of jgg@ziepe.ca designates 209.85.160.177 as permitted sender) smtp.mailfrom=jgg@ziepe.ca; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750770494; a=rsa-sha256; cv=none; b=NpvrALGIoCAGB2UWc+mwtY4N99ln9EssSdkYtee4UhEMkJHLMWnI9nAL0Gncd7wGalG9A/ JMMP+h+qg7T2KyHdjg9pDZ5hqeeBHMAlXtNSgKe9lpcnYnjjpqpUwT+Q+O/OiQwVK1BC0v LwCX2ha0zQexqbkWb0iPpYMc+JTqQTU= Received: by mail-qt1-f177.google.com with SMTP id d75a77b69052e-4a5903bceffso4587461cf.3 for ; Tue, 24 Jun 2025 06:08:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ziepe.ca; s=google; t=1750770494; x=1751375294; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=iohPe+c6ZnzjeGz7SNDU9v8Z6P04ovt1VqFpt7Vikhc=; b=KScQuqQMpXE0j54RpgLwYYAm7ATWOjW+Wz/HtRnTtsFkVgcAy5KYI04WbupNoPK+F8 mIFafF9HFpJ2mcqs+iCJvtPey8tBaw5ayla0gCO5ScUf0RSBv+XbNpleE/+nvejiM8Jp f5KFDI8HQdxw8NLxUlCz95hDAw2PtX+YPbiHuO3q0pKIw4JwrC0PXtRdVoaxkhhNT3Ub MhFHAhTUDi719vZvYWiYQ57d2Z9+oq5k6YVVTBIG/cTreJ0hlmYECbwjnJmYrec6W85k R0gNc7FpttagB7w7Pda0i6qSPWI2D+N7nZsjPeu8CVvoIOtN4dUs9ujGX6CmP+mv186A NXgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750770494; x=1751375294; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=iohPe+c6ZnzjeGz7SNDU9v8Z6P04ovt1VqFpt7Vikhc=; b=hFQJjHLYXbCcu4hH5H+HUGmbfIlIjYYHYYgeRdH4J3B+N0tqx3gZGwjNTvk9uJlsQX MHEQbvSIMu4HOSUBI3tZ8F1eQPTX59FMdWtK5cZFuPNdvkRK7VJTGJJDAcOuLMqgRBg2 Vjt6lR4/3EBOh20EQUDDO6xfn65fHxQWWEjFWIID/UL3jptK/J3sc7nZq0MK0ztJdofx yeV+YoHqiNS2KOJWFwfcMD5QuxDPQ9D4lZJRYvvMnDWxL0OBCgipppnYRr7DZ222ejlC n1WuFEZcFHLkuRWLaQ0BNHcEQWl75N0AC8Dd1Kyj3ATwC9q8qlCOsG+Zvx/A9ZRRr+q2 INVg== X-Forwarded-Encrypted: i=1; AJvYcCXK7qiCv1+ypVnxVKZZoS36gU9c7cdFGLnCHvJB0OQJDaIaTO9w8tyVfUx75DR/TiWXXLfJPjlK7g==@kvack.org X-Gm-Message-State: AOJu0YyUvZDocLe7TSOo0vKC4NVF90jnRwGfQW4YeblGwULYuec+c0OT ZPUeCJ2O/QSvGBxlqvMmmsZzaI/aj07P4aZ+WWC93Smw4c7O8nR+D0NJ8QiAd8S0SiA= X-Gm-Gg: ASbGncs4+DTbhpYhDtufTXp4LS/JKcSRBRY0BEjwsp3Qwf4uS/BDyWcwoiXDGfb0DSX aUfg2zymL4b+vf+BlindHU8XUlueR5L4xaE2B76gsJIwYqlHGhtP9vVXgQ3srGt93YONlp7+/5x IvTHfU+m0O0NuF5npynAYo2vSEjIeJONQ1AAt3uPsRV0bUkGEfhben6L6GuS1L4b650cC6qB5CT o1fj5yws0H7ZTUIGmX2f5I7iJB8HzmJmowUx09nr/Nr2SqtXuGwBikxy24imf9ArVHwBWTQqpWz jfvoSElQ9bGDm4XU8kOGo1SIrK+I+ItBd5JIL2aYYd5Z4GXdH6/IznYBtwQHDMvFb2Q2CZux3K6 5tyHVwzaaX0jtvSPPPPs2nJpkadlUZwHO4kKS8A== X-Google-Smtp-Source: AGHT+IHef3kdB4cDi6psPYyte+3aNmtbl/eIlBlt7fvZpJKrO+q9+X8gBnos6r+TRXvWNp7iSK1pIg== X-Received: by 2002:a05:620a:1a06:b0:7c5:562d:cd02 with SMTP id af79cd13be357-7d3f992de50mr2307168585a.41.1750770493042; Tue, 24 Jun 2025 06:08:13 -0700 (PDT) Received: from ziepe.ca (hlfxns017vw-142-167-56-70.dhcp-dynamic.fibreop.ns.bellaliant.net. [142.167.56.70]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7d3f99a80adsm499866985a.46.2025.06.24.06.08.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Jun 2025 06:08:12 -0700 (PDT) Received: from jgg by wakko with local (Exim 4.97) (envelope-from ) id 1uU3Nj-00000000dPJ-362W; Tue, 24 Jun 2025 10:08:11 -0300 Date: Tue, 24 Jun 2025 10:08:11 -0300 From: Jason Gunthorpe To: Alexey Kardashevskiy Cc: Vishal Annapurve , 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, yan.y.zhao@intel.com, yilun.xu@intel.com, yuzenghui@huawei.com, zhiquan1.li@intel.com Subject: Re: [RFC PATCH v2 04/51] KVM: guest_memfd: Introduce KVM_GMEM_CONVERT_SHARED/PRIVATE ioctls Message-ID: <20250624130811.GB72557@ziepe.ca> References: <9502503f-e0c2-489e-99b0-94146f9b6f85@amd.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <9502503f-e0c2-489e-99b0-94146f9b6f85@amd.com> X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: C6D9BA0016 X-Stat-Signature: zs8ukjex5uzerwoehms6kr9p8ms6jxzf X-HE-Tag: 1750770494-912273 X-HE-Meta: U2FsdGVkX1/qVd3gRqP0zPMXk2nm7+cZrreSsdCtWiq00Xe9lDERK/rMkyn+Weddr2B9gOpPYGmmogJMXChgHFwWKrNUxtpHOSOOq+9Yna2MbgU8iF8OOYVglkkwaPYU2Iy3L25GZV06130pSmjB/qlvbb+KujqDkD84pOpicwl/HAYkOAZ1N+qds3qkJzvq4ztldzIZ1Y0wJqvHSTbJQiSCL8rwDK8Pytvn6V4SG+AwHP0z7ZNartWg7A+DUneGXn76lGurCkId9MFIpAJBm9y7WppZExuDGiQKmKKXn9wJvEc/H3fZUQB/L7cyeKacBHBtQn0FsD0hiGt5FSVb5PvaFuyLIywLYy1bcGiZFar5TsSq3SBXcfCYVc4MlujxLQRdsMfVN6E08IwlaG2vYvTC9/Qv8UoEoiGRVoWvt2Po2sa88C9LNwFDhEQ11HdEU0KblBPibfWcKOu2a8Y1+4fkmsbaOeqP5OXbnvAEILLwlMU7mY+9e4GXq3hRAPjj9YKaU8LSBZzGg16WaPeL6Kd28QFaJAo9XLXmeiHWM9mOASab+99NkdQq3VCOoDi5N9Zin5qd4EnZi2sEug4HKOALt1NJi1JADEiD90uxnSfCgnPvSlERUMP7hf6zjaMGqaGhyq6iLmdxkNGbwXljQT4Anvy6BSEYRdLYhCgxgc8JJnxJ/Ku/CFITvhuV2gvdB2DQRx7Ks7d/M0x3SR5uyCsgvkjo3UlTRXEOc3+Qj3KCj7qUvqNmfIuWcUOjOR4HfPr5EJUIJlc2cP14xlnEEuhCf8wocJu/R+PypXWb1y6aKtGseZAjP5dkr1D8oh73ZHOMKloI+Xs5O2rSTJxR41giPEWJ/tarjpXQyT9uvZny5Rfq+a9zm6aPSGWcWiGHzjTGFO4tMH36lNAi2Kika3WxFvpn4UjINO+sOUf+7jbpXM+OrA14b8mhLE9HWj4VLcYIOhqsEtIUpfBFNQM 7P2xr4WQ iowR3KIx3KaDtR5L9x3C/khvg7wU0MGy3uSBEpZxYiIc+hZ5FbliTLFtJkPnj9hkol5T7s/EjsCHB7yGJrwcJ+pl9y7Y6hlr0R7AjJTtVNv+pkmxY6r/ImF2NfgwZSIXMeGTdx6qeXCE0ZUtgwTp6fYc2Aob//PvEw87ZUP+lYpq/S/Yg09XZRgT5RLuHA3VkDFZgAxUOG/VWd5h8aPfGUBZWdKmRwWFqPex92eQobYlgh9c0vFn3B8akAh0wTF26gYersxvcGBQfFtwPOi7J0RHfWg7DARV9Hrpg741lYY+YC5YodrpTtWr5pSpi9N14Qf9ggjrfazooE3y+ybAjqc3o1xwGy2S0BzdYp2a/AlzjEy+WxQgO+U6MD/mw7EKU4UINbzNicVjeMYA1f2fKRx98Mg== 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 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 > is going to be flushed on a page conversion anyway (the RMPUPDATE > instruction does that). All this is about AMD's x86 though. The iommu should not be using the VMA to manage the mapping. It should be directly linked to the guestmemfd in some way that does not disturb its operations. I imagine there would be some kind of invalidation callback directly to the iommu. Presumably that invalidation call back can include a reason for the invalidation (addr change, shared/private conversion, etc) I'm not sure how we will figure out which case is which but guestmemfd should allow the iommu to plug in either invalidation scheme.. Probably invalidation should be a global to the FD thing, I imagine that once invalidation is established the iommu will not be incrementing page refcounts. Jason