Re: [PATCH v2] irqchip: gic-v3-its: irq_pipeline: fix OOB context in-band lock warning for ITS lock using hard spinlocks instead of hybrid spinlocks
Jan Kiszka <[email protected]> Mon, 13 Jul 2026 12:50:23 +0200
| Newsgroups | dev.linux.lists.xenomai |
|---|---|
| Message-ID | <[email protected]> |
On 13.07.26 12:42, linz wrote: > Thank you for your feedback > > > The gic-v3 IRQ chip is already marked with IRQCHIP_PIPELINE_SAFE. The its_irq_chip is not marked with IRQCHIP_PIPELINE_SAFE. I added the flag and tested, but it did not have any effect. > > Meanwhile, I read the code related to IRQCHIP_PIPELINE_SAFE. If the gic-v3 IRQ chip is not marked with IRQCHIP_PIPELINE_SAFE, a call trace like the following would be reported: > MSI domain irqchip XXX is not pipeline-safe! or irqchip XXX is not pipeline-safe! > However, I did not see any such message in my logs. > > Based on Florian's suggestion, I revisited the Xenomai 4 documentation regarding hybrid_spinlock_t and hard_spinlock_t. > I agree with Florian's point that hybrid_spinlock_t should be limited to struct irq_desc and IRQ chips, and that hard_spinlock_t is more appropriate for the ITS node lock. > > I changed the lock to hard_spinlock_t and tested it. The call trace no longer appears and the system works fine. > > The patch is as follows. Please help review it: > If you want to provide comments on your patch that should not go into the git history (like the intro above)... > From e0cbc9316af331bf007c86e1fcab0ef8699b05c9 Mon Sep 17 00:00:00 2001 > From: zhanglin1040 <[email protected]> > Date: Mon, 13 Jul 2026 17:53:44 +0800 > Subject: [PATCH] irqchip: gic-v3-its: irq_pipeline: fix OOB context in-band > lock warning for ITS lock using hard spinlocks instead of hybrid spinlocks > > --- Put them right after this separator line. But your patch is still lacking a commit message (text after subject and that separator). And there is no Signed-off-by (https://developercertificate.org/). Study how over patches look like that are shared on this list. Jan > drivers/irqchip/irq-gic-v3-its.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c > index 0e57735eac..3f2b02b8f4 100644 > --- a/drivers/irqchip/irq-gic-v3-its.c > +++ b/drivers/irqchip/irq-gic-v3-its.c > @@ -94,7 +94,7 @@ struct its_device; > * list. > */ > struct its_node { > - raw_spinlock_t lock; > + hard_spinlock_t lock; > struct mutex dev_alloc_lock; > struct list_head entry; > void __iomem *base; > -- > 2.34.1 -- Siemens AG, Foundational Technologies Linux Expert Center