Thread (20 messages) 20 messages, 7 authors, 2021-09-06

Re: [PATCH 1/2] regmap: teach regmap to use raw spinlocks if requested in the config

From: Thomas Gleixner <hidden>
Date: 2021-08-27 20:00:02

On Fri, Aug 27 2021 at 16:12, Vladimir Oltean wrote:
On Fri, Aug 27, 2021 at 01:01:35AM +0200, Thomas Gleixner wrote:
quoted
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...
Mark, any comments?

Generally it is said that misusing raw spinlocks has detrimential
performance upon the real-time aspects of the system, and I don't really
have a good feeling for what constitutes misuse vs what is truly justified
(in fact I did start the thread with "apologies for my novice level of
understanding").

On the other hand, while it does seem a bit too much overhead for
sequences of MMIO reads/writes to be able to be preempted, it doesn't
sound like it would break something either, so...
The question is how long those sequences are.

If it's just a pair or so then the raw spinlock protection has
definitely a smaller worst case than the sleeping spinlock in the
contended case.

OTOH, if regmap operations consist of several dozens of MMIO accesses,
then the preempt disabled region might be quite long.

I'm not familiar enough with regmaps to make a judgement here.

Thanks,

        tglx
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help