Re: [PATCH] mm/mmu_notifier: Remove non_block_start/end() from notifier invocation

David Woodhouse <[email protected]>
Newsgroups dev.linux.lists.linux-rt-devel,org.kernel.vger.kvm,org.kernel.vger.linux-kernel,org.kvack.linux-mm
Message-ID <[email protected]>
On Tue, 2026-08-18 at 11:18 -0700, Paul E. McKenney wrote:
> On Thu, Aug 13, 2026 at 08:54:44AM +0100, David Woodhouse wrote:
> > On Wed, 2026-08-12 at 14:38 -0700, Paul E. McKenney wrote:
> > > If not, please let me know, and I will put together that does the
> > > job.
> > 
> > If you're working on that, I assume it'd need the readers to be known-
> > atomic. So if any of the read-side SRCU_READ_FLAVOR_ATOMIC thing I
> > already threw together is useful, you can find it in my tree at
> > https://git.infradead.org/?p=users/dwmw2/linux.git;a=shortlog;h=refs/heads/srcu-atomic
> 
> Thank you, happy to steal pieces of that with attribution.  ;-)
> 
> My current plan says that if you have an atomic SRCU on which you
> use srcu_read_lock_atomic() and srcu_read_unlock_atomic(), you only
> ever get to use synchronize_srcu_atomic(), never synchronize_srcu(),
> synchronize_srcu_expedited(), or call_srcu().  Does that work for you?

I just said this elsewhere in the thread¹ but I don't necessarily
expect you to be following that. So to bring it back here...

My mental model for srcu_read_lock_atomic() was that it was always
atomic, even on RT — it was basically equivalent to a raw spinlock.

In fact I think it would be OK for it to be equivalent to a *plain*
spinlock — i.e. atomic on non-RT, but might sleep on RT.

When I wrote that previous email I was thinking that might end up being
additional complexity in your implementation, but as I type this I
guess it could be as simple as falling back to the normal non-atomic
case for RT?

¹ https://lore.kernel.org/all/[email protected]/
smime.p7s (application/pkcs7-signature, 6 KB) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.