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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D9385C4167B for ; Wed, 6 Dec 2023 14:49:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=I3MoNyhKruc/psVms89gX/6pi8eursn8BrAuhW7bTkQ=; b=npnMd+BZ9jXUKH RrGi1JYhBjgyzwp1TYmiJM/FOnTZ/ld7XCGlBX7dUhE4ZYg+sh7i99qNIut4UKlQJMTK3302VJzfe kq9S6+wpWRF/PCY9dRXpgBceoQFhdI/kSAaCdhNL9oSg3V59Ui1JprTObfyoEMdCwoWEUH8mZMdw+ gwTjaQUTZdgTqSuuH2tjE8rGefbNfMFgr+nMqtd+QmiF+1gneXGT4uMaB2NIqEJ45ylbRJSCA0bFQ 2IiMYOzVpz8r8AKcob/bD/SyAcVTlrDOsySaRV+c+V4VKlyK51ICYNHU9Ct0K3ICHB9WIj39LjtXv SZqg75GR1+Yj+trWK22A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rAtD7-00AYHk-0R; Wed, 06 Dec 2023 14:49:13 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1rAtD4-00AYGt-1i for linux-arm-kernel@lists.infradead.org; Wed, 06 Dec 2023 14:49:11 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id B6B8661D4B; Wed, 6 Dec 2023 14:49:09 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D07D3C433C8; Wed, 6 Dec 2023 14:49:04 +0000 (UTC) Date: Wed, 6 Dec 2023 14:49:02 +0000 From: Catalin Marinas To: Jason Gunthorpe Cc: Marc Zyngier , ankita@nvidia.com, Shameerali Kolothum Thodi , oliver.upton@linux.dev, suzuki.poulose@arm.com, yuzenghui@huawei.com, will@kernel.org, ardb@kernel.org, akpm@linux-foundation.org, gshan@redhat.com, aniketa@nvidia.com, cjia@nvidia.com, kwankhede@nvidia.com, targupta@nvidia.com, vsethi@nvidia.com, acurrid@nvidia.com, apopple@nvidia.com, jhubbard@nvidia.com, danw@nvidia.com, mochs@nvidia.com, kvmarm@lists.linux.dev, kvm@vger.kernel.org, lpieralisi@kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v2 1/1] KVM: arm64: allow the VM to select DEVICE_* and NORMAL_NC for IO memory Message-ID: References: <20231205033015.10044-1-ankita@nvidia.com> <86fs0hatt3.wl-maz@kernel.org> <20231205130517.GD2692119@nvidia.com> <20231205164318.GG2692119@nvidia.com> <20231205194822.GL2692119@nvidia.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20231205194822.GL2692119@nvidia.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231206_064910_612313_0179BAF4 X-CRM114-Status: GOOD ( 17.52 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Tue, Dec 05, 2023 at 03:48:22PM -0400, Jason Gunthorpe wrote: > On Tue, Dec 05, 2023 at 07:24:37PM +0000, Catalin Marinas wrote: > > On Tue, Dec 05, 2023 at 12:43:18PM -0400, Jason Gunthorpe wrote: > > > What if we change vfio-pci to use pgprot_device() like it already > > > really should and say the pgprot_noncached() is enforced as > > > DEVICE_nGnRnE and pgprot_device() may be DEVICE_nGnRE or NORMAL_NC? > > > Would that be acceptable? > > > > pgprot_device() needs to stay as Device, otherwise you'd get speculative > > reads with potential side-effects. > > I do not mean to change pgprot_device() I mean to detect the > difference via pgprot_device() vs pgprot_noncached(). They put a > different value in the PTE that we can sense. It is very hacky. Ah, ok, it does look hacky though (as is the alternative of coming up with a new specific pgprot_*() that KVM can treat differently). BTW, on those Mellanox devices that require different attributes within a BAR, do they have a problem with speculative reads causing side-effects? If not, we might as well map the whole BAR in user as Normal NC but have the guest use the appropriate attributes within the BAR. The VMM wouldn't explicitly access the BAR but we'd get the occasional speculative reads. -- Catalin _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel