Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp1789222ybb; Sun, 29 Mar 2020 13:28:27 -0700 (PDT) X-Google-Smtp-Source: ADFU+vtwg8DMifBJSqpJlLzT/AR2kyMZweV0cJKtdXeYny7UMUOlyoH6DWFMs0nlji6vvd8+zOsa X-Received: by 2002:a4a:3357:: with SMTP id q84mr7340494ooq.69.1585513707327; Sun, 29 Mar 2020 13:28:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585513707; cv=none; d=google.com; s=arc-20160816; b=u4c/Ew9uBN4BL46XixPCBgPLZxfATo1rnASMGS9OD0Tzko858Wm5Z8UhqcehXapRz2 CG3J0hr6aDPVfHUaVLTMczbXcog7fnppfsgYDIHNZhifXsdUP4ZVk/hi8dZDWKVh3pxh kzEZaNMsYFlrApKaEyXh9eAEaK/Usfo0ibvOxKbI84yBOrRJcQ1jFb6cwH1w94j9umPZ OT/wW0uZEC6FrBBAWXSMlWOmLV4V1OD3paYKfC2KrjYNO5saMhCYcOE7mfu6TFn2aqI6 5JhawHso875okCz+jKn2ZJzexaRP+snO18SzL8NbmZ72nY0HunMTfseU5SszZY82hgyM tMvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :robot-unsubscribe:robot-id:message-id:mime-version:references :in-reply-to:cc:subject:to:reply-to:from:date; bh=PWxuOsOh6rbB8lHpTHHWr7Y6EcyW7l0UgImxLUJGmno=; b=atAYHo1O4KSRu91emfkkvgNVqa/V3w8ayB6giDC/eDruwUW31d0dpVzBjNTkz0la7f PRnMMOHroJPCzp2gdnru13DPnQ0Dcud8o+rJBa1P3rY9U8kdVL6tSKcrPYOj1x9dSa2S ii0McO4TnyJbo1tbMoHlGeHIOxYGWVryCsZyrL9ZtdyKxCZ8aXxxPN9zBkJCFQGO8ZWr Bp251/L+46pq94zQfVnIjmiWsUqxfwSIsAZwAp+r7KO1/lvj1glx/aAaEd4l3Z8qR0HS dwmlatEpVS/KHkKQs8Ksho1RisTpr3ZjQfsjt3DYoN5MqsoZ1/tMFoq9uSrZdJXgC1H0 +DyA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b17si5530631ook.91.2020.03.29.13.28.15; Sun, 29 Mar 2020 13:28:27 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729117AbgC2U1k (ORCPT + 99 others); Sun, 29 Mar 2020 16:27:40 -0400 Received: from Galois.linutronix.de ([193.142.43.55]:57004 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728868AbgC2U00 (ORCPT ); Sun, 29 Mar 2020 16:26:26 -0400 Received: from [5.158.153.53] (helo=tip-bot2.lab.linutronix.de) by Galois.linutronix.de with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1jIeVh-0001OZ-OR; Sun, 29 Mar 2020 22:26:21 +0200 Received: from [127.0.1.1] (localhost [IPv6:::1]) by tip-bot2.lab.linutronix.de (Postfix) with ESMTP id 306BA1C0450; Sun, 29 Mar 2020 22:26:14 +0200 (CEST) Date: Sun, 29 Mar 2020 20:26:13 -0000 From: "tip-bot2 for Heyi Guo" Reply-to: linux-kernel@vger.kernel.org To: linux-tip-commits@vger.kernel.org Subject: [tip: irq/core] irqchip/gic-v4: Use Inner-Shareable attributes for virtual pending tables Cc: Heyi Guo , Marc Zyngier , x86 , LKML In-Reply-To: <20191130073849.38378-1-guoheyi@huawei.com> References: <20191130073849.38378-1-guoheyi@huawei.com> MIME-Version: 1.0 Message-ID: <158551357385.28353.9119028347947412581.tip-bot2@tip-bot2> X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The following commit has been merged into the irq/core branch of tip: Commit-ID: b2cb11f4f7643255b7703c0fcabc31a8ec478f3a Gitweb: https://git.kernel.org/tip/b2cb11f4f7643255b7703c0fcabc31a8ec478f3a Author: Heyi Guo AuthorDate: Sat, 30 Nov 2019 15:38:49 +08:00 Committer: Marc Zyngier CommitterDate: Sat, 21 Mar 2020 09:40:47 irqchip/gic-v4: Use Inner-Shareable attributes for virtual pending tables There is no special reason to set virtual LPI pending table as non-shareable. If we choose to hard code the shareability without probing, Inner-Shareable is likely to be a better choice, as the VPEs can move around and benefit from having the redistributors snooping each other's cache, if that's something they can do. Furthermore, Hisilicon hip08 ends up with unspecified errors when mixing shareability attributes. So let's move to IS attributes for the VPT. This has also been tested on D05 and didn't show any regression. Signed-off-by: Heyi Guo [maz: rewrote commit message] Signed-off-by: Marc Zyngier Tested-by: Marc Zyngier Link: https://lore.kernel.org/r/20191130073849.38378-1-guoheyi@huawei.com --- drivers/irqchip/irq-gic-v3-its.c | 2 +- include/linux/irqchip/arm-gic-v3.h | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c index bb80285..bc5b3f6 100644 --- a/drivers/irqchip/irq-gic-v3-its.c +++ b/drivers/irqchip/irq-gic-v3-its.c @@ -3560,7 +3560,7 @@ static void its_vpe_schedule(struct its_vpe *vpe) val = virt_to_phys(page_address(vpe->vpt_page)) & GENMASK_ULL(51, 16); val |= GICR_VPENDBASER_RaWaWb; - val |= GICR_VPENDBASER_NonShareable; + val |= GICR_VPENDBASER_InnerShareable; /* * There is no good way of finding out if the pending table is * empty as we can race against the doorbell interrupt very diff --git a/include/linux/irqchip/arm-gic-v3.h b/include/linux/irqchip/arm-gic-v3.h index 83439bf..85b105f 100644 --- a/include/linux/irqchip/arm-gic-v3.h +++ b/include/linux/irqchip/arm-gic-v3.h @@ -320,6 +320,9 @@ #define GICR_VPENDBASER_NonShareable \ GIC_BASER_SHAREABILITY(GICR_VPENDBASER, NonShareable) +#define GICR_VPENDBASER_InnerShareable \ + GIC_BASER_SHAREABILITY(GICR_VPENDBASER, InnerShareable) + #define GICR_VPENDBASER_nCnB GIC_BASER_CACHEABILITY(GICR_VPENDBASER, INNER, nCnB) #define GICR_VPENDBASER_nC GIC_BASER_CACHEABILITY(GICR_VPENDBASER, INNER, nC) #define GICR_VPENDBASER_RaWt GIC_BASER_CACHEABILITY(GICR_VPENDBASER, INNER, RaWt)