LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Thomas Gleixner <tglx@linutronix.de>
To: Vladimir Oltean <vladimir.oltean@nxp.com>,
Mark Brown <broonie@kernel.org>
Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>,
Lee Jones <lee.jones@linaro.org>, Arnd Bergmann <arnd@arndb.de>,
Marc Zyngier <maz@kernel.org>,
Hou Zhiqiang <Zhiqiang.Hou@nxp.com>, Biwen Li <biwen.li@nxp.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
"Rafael J. Wysocki" <rafael@kernel.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] regmap: teach regmap to use raw spinlocks if requested in the config
Date: Fri, 27 Aug 2021 01:01:35 +0200 [thread overview]
Message-ID: <875yvr3j5c.ffs@tglx> (raw)
In-Reply-To: <20210825205041.927788-2-vladimir.oltean@nxp.com>
On Wed, Aug 25 2021 at 23:50, Vladimir Oltean wrote:
> Some drivers might access regmap in a context where a raw spinlock is
> held. An example is drivers/irqchip/irq-ls-extirq.c, which calls
> regmap_update_bits() from struct irq_chip :: irq_set_type, which is a
> method called by __irq_set_trigger() under the desc->lock raw spin lock.
>
> Since desc->lock is a raw spin lock and the regmap internal lock for
> mmio is a plain spinlock (which can become sleepable on RT), this is an
> invalid locking scheme and we get a splat stating that this is a
> "[ BUG: Invalid wait context ]".
>
> It seems reasonable for regmap to have an option use a raw spinlock too,
> so add that in the config such that drivers can request it.
What's reasonable about that?
What exactly prevents the regmap locking to use a raw spinlock
unconditionally?
Even for the case where the regmap is not dealing with irq chips it does
not make any sense to protect low level operations on shared register
with a regular spinlock. I might be missing something though...
Thanks,
tglx
next prev parent reply other threads:[~2021-08-26 23:01 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-25 20:50 [PATCH 0/2] Use raw spinlocks in the ls-extirq driver Vladimir Oltean
2021-08-25 20:50 ` [PATCH 1/2] regmap: teach regmap to use raw spinlocks if requested in the config Vladimir Oltean
2021-08-26 23:01 ` Thomas Gleixner [this message]
2021-08-27 16:12 ` Vladimir Oltean
2021-08-27 19:59 ` Thomas Gleixner
2021-08-30 10:49 ` Vladimir Oltean
2021-08-30 11:02 ` Rasmus Villemoes
2021-08-30 12:42 ` Mark Brown
2021-08-30 12:19 ` Mark Brown
2021-08-30 14:16 ` Thomas Gleixner
2021-09-01 16:05 ` Mark Brown
2021-09-02 8:35 ` Thomas Gleixner
2021-08-25 20:50 ` [PATCH 2/2] mfd: syscon: request a regmap with raw spinlocks for some devices Vladimir Oltean
2021-08-25 21:24 ` Arnd Bergmann
2021-08-25 22:00 ` Vladimir Oltean
2021-08-26 9:24 ` Arnd Bergmann
2021-08-26 13:57 ` Vladimir Oltean
2021-08-26 14:48 ` Arnd Bergmann
2021-09-06 9:18 ` Lee Jones
2021-08-26 12:51 ` (subset) [PATCH 0/2] Use raw spinlocks in the ls-extirq driver Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=875yvr3j5c.ffs@tglx \
--to=tglx@linutronix.de \
--cc=Zhiqiang.Hou@nxp.com \
--cc=arnd@arndb.de \
--cc=biwen.li@nxp.com \
--cc=broonie@kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=lee.jones@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@rasmusvillemoes.dk \
--cc=maz@kernel.org \
--cc=rafael@kernel.org \
--cc=vladimir.oltean@nxp.com \
--subject='Re: [PATCH 1/2] regmap: teach regmap to use raw spinlocks if requested in the config' \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).