Messages in this thread | | | Subject | Re: [irqchip: irq/irqchip-next] irqdomain: Protect the linear revmap with RCU | From | Guenter Roeck <> | Date | Mon, 5 Jul 2021 11:23:27 -0700 |
| |
Hi Marc,
On 7/5/21 11:01 AM, Marc Zyngier wrote: > Hi Guenter, > > On Mon, 05 Jul 2021 18:23:52 +0100, > Guenter Roeck <linux@roeck-us.net> 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 <maz@kernel.org> >>> AuthorDate: Mon, 05 Apr 2021 12:57:27 +01:00 >>> Committer: Marc Zyngier <maz@kernel.org> >>> 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 <maz@kernel.org> >> >> 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. >
See http://server.roeck-us.net/qemu/mipsel/
config Complete configuration file defconfig Shortened configuration file rootfs.cpio root file system (initrd) run.sh qemu run script (tested with qemu 4.2.1 and 6.0.0) vmlinux Kernel image experiencing the problem (v5.13-9883-gaf9efb8b661)
Hope this helps, Guenter
| |