Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp3666576pxj; Tue, 15 Jun 2021 06:10:07 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxgpph7D3iPIicExEHdefifuRcMkEPWC645h8lKNBknsl6FwzQVSsLMJds0F67RZAujIOuU X-Received: by 2002:a92:d5c1:: with SMTP id d1mr17780778ilq.20.1623762607058; Tue, 15 Jun 2021 06:10:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623762607; cv=none; d=google.com; s=arc-20160816; b=YTtHPZOztJcwF7fX3+cgvIrUJ//rhYKzYHbkJ4twpVxXnLuRwPGGb5gq2CKIsQi5l9 P5GCm4DFPXafcXulvpTQE9MJ2baBqvyknJK/O7pG0VZOsuMzltVc99xZVCBuhtSVvqOL r3YxjVKBA5tKS5KweziiIrrm5iborWjuLl0+Z35UiNje0CCJJuKBkMN6PUf2MIC/7mhk ft9V9rRo5Fggom9VOKoR4hB5YkEN1DHENrkaqh7XlKU2a0Ht2fDGz1QWxqGIAp0lan7d 57LSC78pm1gQCScf3IQbAiO4zkQz8zpO7nKeC8XpNZfcK+W46stjwke1nrmTbg639lbq c5CQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject; bh=SOvykZ0C1uBAx1EZFo93hlAst0HWTZmvkSviNabmARA=; b=XGbipsij4wLHiIi1v1x43oQxwO2xF4zxLTcISWDhR+04SGYFuEebml1QAG60Q18piC VfVyEkjyZ0xXJLsVzdy5FwVD+cAVFbSX/RaYi6TohUf4lvFqRAMAKCT4pcIqsG6Ehlr2 P5yQrAhMnfpxnfkwiHX5dyNO9e0B2c75eFp9b3O0JAMjQUzbuAZ9JBclK9Adw9o5lpx2 2qGEd2NCvErUEoEvUgxa2tzxayUmJkyG/1WUPSF47taC3kvDrERcbkFrmbgOFo9DA+ex yI/8kyOcE1UIwGUALcz3yxge/FEt/3O2ciN7smzZnQFL/ZuNmjevD8oQuOcBoPQgUrwP ZPzw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i15si19852270ila.101.2021.06.15.06.09.52; Tue, 15 Jun 2021 06:10:07 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230161AbhFONK1 (ORCPT + 99 others); Tue, 15 Jun 2021 09:10:27 -0400 Received: from foss.arm.com ([217.140.110.172]:34890 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229951AbhFONK1 (ORCPT ); Tue, 15 Jun 2021 09:10:27 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B891311D4; Tue, 15 Jun 2021 06:08:22 -0700 (PDT) Received: from [10.57.9.136] (unknown [10.57.9.136]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 8234F3F719; Tue, 15 Jun 2021 06:08:21 -0700 (PDT) Subject: Re: [PATCH v3 2/6] iommu/amd: Do not use flush-queue when NpCache is on To: Nadav Amit , Joerg Roedel Cc: Nadav Amit , Will Deacon , Jiajun Cao , Lu Baolu , iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org References: <20210607182541.119756-1-namit@vmware.com> <20210607182541.119756-3-namit@vmware.com> From: Robin Murphy Message-ID: Date: Tue, 15 Jun 2021 14:08:16 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 MIME-Version: 1.0 In-Reply-To: <20210607182541.119756-3-namit@vmware.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-GB Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2021-06-07 19:25, Nadav Amit wrote: > From: Nadav Amit > > Do not use flush-queue on virtualized environments, where the NpCache > capability of the IOMMU is set. This is required to reduce > virtualization overheads. > > This change follows a similar change to Intel's VT-d and a detailed > explanation as for the rationale is described in commit 29b32839725f > ("iommu/vt-d: Do not use flush-queue when caching-mode is on"). > > Cc: Joerg Roedel > Cc: Will Deacon > Cc: Jiajun Cao > Cc: Robin Murphy > Cc: Lu Baolu > Cc: iommu@lists.linux-foundation.org > Cc: linux-kernel@vger.kernel.org > Signed-off-by: Nadav Amit > --- > drivers/iommu/amd/init.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/drivers/iommu/amd/init.c b/drivers/iommu/amd/init.c > index d006724f4dc2..ba3b76ed776d 100644 > --- a/drivers/iommu/amd/init.c > +++ b/drivers/iommu/amd/init.c > @@ -1850,8 +1850,13 @@ static int __init iommu_init_pci(struct amd_iommu *iommu) > if (ret) > return ret; > > - if (iommu->cap & (1UL << IOMMU_CAP_NPCACHE)) > + if (iommu->cap & (1UL << IOMMU_CAP_NPCACHE)) { > + if (!amd_iommu_unmap_flush) > + pr_warn_once("IOMMU batching is disabled due to virtualization"); Nit: you can just use pr_warn() (or arguably pr_info()) since the explicit conditions already only match once. Speaking of which, it might be better to use amd_iommu_np_cache instead, since other patches are planning to clean up the last remnants of amd_iommu_unmap_flush. Robin. > + > amd_iommu_np_cache = true; > + amd_iommu_unmap_flush = true; > + } > > init_iommu_perf_ctr(iommu); > >