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 57EFAC369DC for ; Tue, 29 Apr 2025 18:09:55 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 04B5C6B000C; Tue, 29 Apr 2025 14:09:53 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 021646B000D; Tue, 29 Apr 2025 14:09:52 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E29DA6B000E; Tue, 29 Apr 2025 14:09:52 -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 C5C7B6B000C for ; Tue, 29 Apr 2025 14:09:52 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 1AFBF120E41 for ; Tue, 29 Apr 2025 18:09:54 +0000 (UTC) X-FDA: 83387869908.13.75DB2D2 Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254]) by imf16.hostedemail.com (Postfix) with ESMTP id 5F1A418000B for ; Tue, 29 Apr 2025 18:09:52 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=none; spf=pass (imf16.hostedemail.com: domain of cmarinas@kernel.org designates 172.105.4.254 as permitted sender) smtp.mailfrom=cmarinas@kernel.org; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=arm.com (policy=none) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745950192; 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; bh=bJ8AnGaJFq1d/EGjbs2hpni0IcLnTMbT0aJoA8FUM9g=; b=NWheDWq5Nbm8r9Nxtyg4VIbplbsIXl9Y0OLCOt0inSnNvkVDZGYsalIHoW4z3VDBiZhH4x PW0at7puY3vk+6Txibc4ejGhjSHYWORAzCRNvpOQAMG9xEjtP+bAqCSh3PTBUO+t39biqc FBEPJwY2SJzfIf4RGB4ms45nYRqXBUo= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=none; spf=pass (imf16.hostedemail.com: domain of cmarinas@kernel.org designates 172.105.4.254 as permitted sender) smtp.mailfrom=cmarinas@kernel.org; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=arm.com (policy=none) ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745950192; a=rsa-sha256; cv=none; b=hdeGU+aO3o7ad/4CIVCKPYwjxxMDUJ8xY8RCDOqzwJF7smFF9neJGk+UHwMa94KoOsQ7Dq s9LBfBnDjb8mXkpuy+a1sgPlc9P5dTvZkd5qiltQ0vAIuk7BJCbnLejWLf9t3DLBDO5yRD k9PDBDzZIE+id/i77iQBHyfTwLTVr5I= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id 76F9F6846F; Tue, 29 Apr 2025 18:09:25 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C1CB2C4CEEA; Tue, 29 Apr 2025 18:09:44 +0000 (UTC) Date: Tue, 29 Apr 2025 19:09:42 +0100 From: Catalin Marinas To: Jason Gunthorpe Cc: Ankit Agrawal , Oliver Upton , Sean Christopherson , Marc Zyngier , "joey.gouly@arm.com" , "suzuki.poulose@arm.com" , "yuzenghui@huawei.com" , "will@kernel.org" , "ryan.roberts@arm.com" , "shahuang@redhat.com" , "lpieralisi@kernel.org" , "david@redhat.com" , Aniket Agashe , Neo Jia , Kirti Wankhede , "Tarun Gupta (SW-GPU)" , Vikram Sethi , Andy Currid , Alistair Popple , John Hubbard , Dan Williams , Zhi Wang , Matt Ochs , Uday Dhoke , Dheeraj Nigam , Krishnakant Jaju , "alex.williamson@redhat.com" , "sebastianene@google.com" , "coltonlewis@google.com" , "kevin.tian@intel.com" , "yi.l.liu@intel.com" , "ardb@kernel.org" , "akpm@linux-foundation.org" , "gshan@redhat.com" , "linux-mm@kvack.org" , "ddutile@redhat.com" , "tabba@google.com" , "qperret@google.com" , "kvmarm@lists.linux.dev" , "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" Subject: Re: [PATCH v3 1/1] KVM: arm64: Allow cacheable stage 2 mapping using VMA flags Message-ID: References: <20250422233556.GB1648741@nvidia.com> <20250423120243.GD1648741@nvidia.com> <20250423130323.GE1648741@nvidia.com> <20250429141437.GC2260709@nvidia.com> <20250429164430.GD2260709@nvidia.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250429164430.GD2260709@nvidia.com> X-Stat-Signature: gf3yn6ydtpf3gh5cyy8fszrsdje9tmrf X-Rspamd-Queue-Id: 5F1A418000B X-Rspam-User: X-Rspamd-Server: rspam05 X-HE-Tag: 1745950192-900664 X-HE-Meta: U2FsdGVkX1+m0TEIqvy8z3IDKMjeOtekeRhbjmdGEYjy4cCaiYdO5qckA0pkBkc7vWBzjSVQxHFhpOfZdcRdvw1RY0QyH+it9w/5uHyx6eP654kBDfsuGsWjIDtRryYVk+0ePIu8Gzg4xYQ+VEpddcLUjRlP5eITqDzXvScTO8tDKZhoHILNJ/dVenzfJGPvt054TZKGQEBHjxjizV0lWF1/3KmlWuXv+LW9CXzcZ0DRtBvI+OKWMbMed52e6v+WopnY9U5ZMAmCmWRIC5KyMX/foCNNVSZeVb234ZhGNtVV6LyGg4b1gcz/qpTHVDL6pZxNngiClElkO8FTBQ2KGtwipdQiPFUMAEQ0+nSSMJ/7cFRvoS/z+v4hdqV0dPJt5pwWuGsIsJkoBc+IRgw0M6HpcVfABbBkDqxziJtb1ku/+ozNo56r/gaR/HyRUQXlSvzn7J9gN4TL1eXNYSKFfsxBZIUTZq8Aj2QfwnoKurOAsQPm5rE6NC4SIsAXNZd3e+lfUW04BaRD9JaSWfkTSchSscjnaUAuWuC+ZObucSaiQ1xOtleuLMRlbMTdZ1SiNeLdJlY40KYiOx5tSol62862Fz9F7HhDoPRgXpDept18U+cTKfE3bOsPjmHe1z8+ApQwoI/Ovi5Z6hq+M6ggXuZ8RSWyY9zWQ6MPKbSaSjg1QFKOPncuUrt/O4m2/2WNU+GSUk+AO2GfYCL6dnMbe5adjCWuZkZvJaPYR9b/ZdrTUQYIcq9liJSYbNcvuASQDwfMcpeT/RgtT1BQgYC8KMBcP0sB1JsLn8qjWGwnyzmd/fZm4+Ikweh2DUPyQz0k4xbsuZeAzcVCrbtpOXu02pZl9blU3Z42UMiR6G3jTBvkyq0/ssQVXjrPN9WtXphAK0YqqselTYDgCzenqngLk8S0sNrX+xCAlDe9bZ4/XFgFZLbYQnhux08/2+aXtkZmz1z1ntUDoO1TbqNIxrZ sFWfahl9 WQ+7lK6k1NKJZH5yGagl87OWrSv03uS4VVhmd7gN3xLNAtSyqsCUy0iQWb/u1uNaG76F5U6W1k1QA4KkHufWC9+biS49PhJVafoTaHOyBf0usNtx1HWbaAfhp+ng8+1O+emu1C4HMK5hRLjI+h2pw3bxkndS97yHZUSvqM/ldAy5MsAHz+cfWOpz1y4kUZrDUfXDV/khv6VSzzAhncBL86xSExbJb5UY3qdt/zEiXqUPfEmt5G8Dao9UthgKU3uWwibQrBBhXWUStUi7kWrtIs/O8c1EGlDFX075eb73ruaTKy+0iHdY0OW2ICbEDQSQbyr+1H6qEfGY04mc6z4I7kXvLLQ4ZzN2HAPAk1JpjeXGv+HVf9etP2CXhowKLdMxmL766 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, Apr 29, 2025 at 01:44:30PM -0300, Jason Gunthorpe wrote: > On Tue, Apr 29, 2025 at 05:03:18PM +0100, Catalin Marinas wrote: > > On Tue, Apr 29, 2025 at 11:14:37AM -0300, Jason Gunthorpe wrote: > > > On Tue, Apr 29, 2025 at 02:27:02PM +0100, Catalin Marinas wrote: > > > > BTW, we should reject exec mappings as well (they probably fail for S1 > > > > VFIO since set_pte_at() will try to do cache maintenance). > > > > > > To be clear the S2 should leave the mapping as execute allowed > > > though. Only the VM knows how it will use this memory and VM's do > > > actually execute out of the cachable PFNMAP VMA today. The VM will set > > > any execute deny/allow on its S1 table according to how it uses the > > > memory. > > > > If S2 is executable, wouldn't KVM try to invalidate the I-cache and it > > won't have an alias to do this? Unless it doesn't end up in > > stage2_map_walker_try_leaf() or the walk has been flagged as skipping > > the CMO. > > Okay, that does seem to have been overlooked a bit. The answer I got > back is: > > Cachable PFNMAP is also relying on ARM64_HAS_CACHE_DIC also, simlar to > how S2FWB allows KVM to avoid flushing the D cache, that CPU cap > allows KVM to avoid flushing the icache and turns icache_inval_pou() > into a NOP. Another CAP for executable PFNMAP then? I feel like this is a different use-case (e.g. more like general purpose CXL attached memory) than the GPU one. Unless FWB implies CTR_EL0.DIC (AFAIK, it doesn't) we may be restricting some CPUs. -- Catalin