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 X-Spam-Level: X-Spam-Status: No, score=-14.0 required=3.0 tests=BAYES_00,INCLUDES_CR_TRAILER, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D85A2C07E99 for ; Mon, 5 Jul 2021 18:01:42 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id A754A61970 for ; Mon, 5 Jul 2021 18:01:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229814AbhGESES (ORCPT ); Mon, 5 Jul 2021 14:04:18 -0400 Received: from mail.kernel.org ([198.145.29.99]:43520 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229713AbhGESER (ORCPT ); Mon, 5 Jul 2021 14:04:17 -0400 Received: from disco-boy.misterjones.org (disco-boy.misterjones.org [51.254.78.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 9657F61261; Mon, 5 Jul 2021 18:01:40 +0000 (UTC) Received: from sofa.misterjones.org ([185.219.108.64] helo=why.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1m0SuY-00BZ5S-Gv; Mon, 05 Jul 2021 19:01:38 +0100 Date: Mon, 05 Jul 2021 19:01:38 +0100 Message-ID: <87h7h88wsd.wl-maz@kernel.org> From: Marc Zyngier To: Guenter Roeck Cc: linux-kernel@vger.kernel.org, tglx@linutronix.de Subject: Re: [irqchip: irq/irqchip-next] irqdomain: Protect the linear revmap with RCU In-Reply-To: <20210705172352.GA56304@roeck-us.net> References: <162341967699.19906.3242958007782554792.tip-bot2@tip-bot2> <20210705172352.GA56304@roeck-us.net> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/27.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-SA-Exim-Connect-IP: 185.219.108.64 X-SA-Exim-Rcpt-To: linux@roeck-us.net, linux-kernel@vger.kernel.org, tglx@linutronix.de X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Guenter, On Mon, 05 Jul 2021 18:23:52 +0100, Guenter Roeck wrote: > > Hi, > > On Fri, Jun 11, 2021 at 01:54:36PM -0000, irqchip-bot for Marc Zyngier wrote: > > The following commit has been merged into the irq/irqchip-next branch of irqchip: > > > > Commit-ID: d4a45c68dc81f9117ceaff9f058d5fae674181b9 > > Gitweb: https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms/d4a45c68dc81f9117ceaff9f058d5fae674181b9 > > Author: Marc Zyngier > > AuthorDate: Mon, 05 Apr 2021 12:57:27 +01:00 > > Committer: Marc Zyngier > > CommitterDate: Thu, 10 Jun 2021 13:09:18 +01:00 > > > > irqdomain: Protect the linear revmap with RCU > > > > It is pretty odd that the radix tree uses RCU while the linear > > portion doesn't, leading to potential surprises for the users, > > depending on how the irqdomain has been created. > > > > Fix this by moving the update of the linear revmap under > > the mutex, and the lookup under the RCU read-side lock. > > > > The mutex name is updated to reflect that it doesn't only > > cover the radix-tree anymore. > > > > Signed-off-by: Marc Zyngier > > This patch results in various RCU warnings when booting mipsel images > in qemu. I can not revert the patch due to subsequent changes, so I > don't know if a simple revert fixes the problem. Log messages and > bisect log see below. Thanks for the heads up. Do you have a config file I can use to reproduce this? The QEMU invocation runes would certainly help too. It strikes me that in drivers/irqchip/irq-mips-cpu.c, plat_irq_dispatch() now uses the irqdomain resolution before irq_enter() took place. That's certainly a latent bug. I'll fix that regardless, but I'd like to make sure this is what you are seeing too. Thanks, M. -- Without deviation from the norm, progress is not possible.