Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp1025924rdb; Wed, 6 Dec 2023 06:49:25 -0800 (PST) X-Google-Smtp-Source: AGHT+IEZ+NhTvUNV8xMXcnE3WmNZtE1Emclj4/UWuovaR/4ThgiaYYP7aVWa6Ma44jQod9P7JDRi X-Received: by 2002:a05:6a20:3c93:b0:154:b4cb:2e8c with SMTP id b19-20020a056a203c9300b00154b4cb2e8cmr868748pzj.24.1701874165377; Wed, 06 Dec 2023 06:49:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701874165; cv=none; d=google.com; s=arc-20160816; b=f32liXXbhIatyVMdtFBq3gtPnmKy9l/4TqHYLuiHCOY9JeDQ4RCOUshyzlNZmLvGco p3BdpLnnWLCBOJesB9nEJh5kqjcNY5M64XXnGymK0KGncQsDFEYovxsPMtFejli1ueVP uRy0xLivyQqZYhXgwujvC9n6HMgAgralClCtnGbUB3x0OCPADCOXeRyyQDP9hhobMmBQ HLYRlbvfu+99ZSJ9bXgLz6GvHL9arLHk3LW8SQCa6sK7aSSz47fqGDFemVcfkC94e75W uyPi8vPdVNFLJ9yaNoeJVdqiUQ6QtVYQzS/1Fh6P8BYhv2K8i5A5Z6XREUfl5bSl9TOn ex1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=AD6AopZ/s1bm8XtzOvEdW4fzYSD53vYl4cmyStOW1gI=; fh=bEyFLQknfHvZVRjPYONukTUGOd/Q5gJXTq+COzby4r4=; b=sPe3evKoTX7vKGBFlWl2v4EJhdhO266ikHzdy72vVUVoMFBX7PllXqvBQyJ0K7AJ+T kO7nzICIvZf8reOjgl0tq4jhqrLr0OerVNUNCCEGFJRceceD3vcZSu69/NUwckYwYFX9 Z5xMM+5iSaWhh1wetxFRz37/lQQAeCD20GTlCwp0irvOBQENYJhs3Acrn4tniqyYnkS2 aU2bi0Juyh8a6dGWuQ1tY6fjxpdpqNSEdwEIZRC3g1CrUr/ZOmCgshJXdyeZYwgaAWVl c3UCuMhYi2DiQQZD8OsaEuysLZGIiq18sNhJ0thub2V5RsREEkr5I13zAGy5W+iOqd2p PbWg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from fry.vger.email (fry.vger.email. [23.128.96.38]) by mx.google.com with ESMTPS id i23-20020a17090ad35700b0028014e41ff7si11540631pjx.48.2023.12.06.06.49.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Dec 2023 06:49:25 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) client-ip=23.128.96.38; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id EDB73808405B; Wed, 6 Dec 2023 06:49:21 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1442150AbjLFOtG (ORCPT + 99 others); Wed, 6 Dec 2023 09:49:06 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48886 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1379090AbjLFOtF (ORCPT ); Wed, 6 Dec 2023 09:49:05 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D8D99D65 for ; Wed, 6 Dec 2023 06:49:09 -0800 (PST) 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-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20231205194822.GL2692119@nvidia.com> X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Wed, 06 Dec 2023 06:49:22 -0800 (PST) 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