From: David Woodhouse <dwmw2@infradead.org>
To: paulmck@kernel.org
Cc: Sean Christopherson <seanjc@google.com>,
Jason Gunthorpe <jgg@ziepe.ca>, Michal Hocko <mhocko@suse.com>,
Steven Rostedt <rostedt@goodmis.org>,
Andrew Morton <akpm@linux-foundation.org>,
David Hildenbrand <david@kernel.org>,
Lorenzo Stoakes <ljs@kernel.org>,
"Liam R. Howlett" <liam@infradead.org>,
Vlastimil Babka <vbabka@kernel.org>,
Mike Rapoport <rppt@kernel.org>,
Suren Baghdasaryan <surenb@google.com>,
Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
Clark Williams <clrkwllms@kernel.org>,
Simona Vetter <simona.vetter@ffwll.ch>,
Jerome Glisse <jglisse@redhat.com>,
Christian Koenig <christian.koenig@amd.com>,
Paolo Bonzini <pbonzini@redhat.com>,
linux-mm@kvack.org, kvm@vger.kernel.org,
linux-rt-devel@lists.linux.dev, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] mm/mmu_notifier: Remove non_block_start/end() from notifier invocation
Date: Tue, 01 Sep 2026 10:40:27 +0100 [thread overview]
Message-ID: <8cd4aa65b1b499d4c614aa4cba445b6aeb89acf7.camel@infradead.org> (raw)
In-Reply-To: <90d91673-a912-439f-98ee-e43285294486@paulmck-laptop>
[-- Attachment #1: Type: text/plain, Size: 2210 bytes --]
On Mon, 2026-08-31 at 17:58 -0700, Paul E. McKenney wrote:
> On Fri, Aug 28, 2026 at 12:25:01AM +0100, David Woodhouse wrote:
>
>
> > * 23f10e07aba3 srcu: Add try_synchronize_srcu() for callers which can prove readers absent
>
> I do not intend to provide a separate API for this given the possibility
> of indefinite postponement.
Makes sense. In that case, calling it internally from the 'right'
places becomes important, as the callers who care can't do so for
themselves.
We discussed the fact that synchronize_srcu_expedited() will also want
to use the same fast path.
I'm also looking back to Sean's call_srcu_expedited() patch from March:
https://lore.kernel.org/all/20260309193059.2244645-1-seanjc@google.com/
| Due to differences in how VMMs manage guest devices, and in the
| architecture being emulated by userspace, some updates trigger call_srcu()
| with concurrent readers (i.e. while the VM is active), while others occur
| without readers, e.g. when configuring devices during a pre-boot setup.
| For the later case (no concurrent readers), using the vanilla call_srcu()
| is problematic, as it can kick off a normal grace period (totally fine for
| freeing the object) and effectively transfer the non-expedited grace period
| to the upcoming synchronize_srcu_expedited().
So the offending path uses call_srcu() and triggers a normal GP, while
the victim calls synchronize_srcu_expedited() and gets stuck behind
that non-expedited GP.
Sean, if the victim is the "no concurrent readers" code path, as you
said above, do you think the fast path in the victim should suffice,
without the cost of an expedited GP for every bus registration?
> > * 2a55908bb12d srcu: Keep a spare node array so srcu_gp_end() need not block in reclaim
>
> This should not be necessary given that call_srcu(), synchronize_srcu(),
> synchronize_srcu_expedited(), and start_poll_synchronize_srcu() are all
> ruled out for atomic srcu_struct structures. Thus, there will never be
> a conversion to big, and thus no memory allocation.
>
> Or am I missing something here?
Agreed. I just didn't get round to dropping it yet. I'll do so.
Thanks again.
[-- Attachment #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 6179 bytes --]
next prev parent reply other threads:[~2026-09-01 9:41 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-11 8:58 [PATCH] mm/mmu_notifier: Remove non_block_start/end() from notifier invocation David Woodhouse
2026-08-11 13:55 ` Jason Gunthorpe
2026-08-11 14:21 ` David Woodhouse
2026-08-11 14:27 ` Jason Gunthorpe
2026-08-11 14:33 ` David Woodhouse
2026-08-11 14:42 ` Steven Rostedt
2026-08-11 15:24 ` David Woodhouse
2026-08-11 15:30 ` Jason Gunthorpe
2026-08-12 8:14 ` Michal Hocko
2026-08-12 8:21 ` David Woodhouse
2026-08-12 12:27 ` Jason Gunthorpe
2026-08-12 13:46 ` David Woodhouse
2026-08-12 13:49 ` Jason Gunthorpe
2026-08-12 14:05 ` David Woodhouse
2026-08-12 14:26 ` Jason Gunthorpe
2026-08-12 14:38 ` David Woodhouse
2026-08-13 10:05 ` David Woodhouse
2026-08-13 13:59 ` Sean Christopherson
2026-08-13 14:40 ` Jason Gunthorpe
2026-08-12 14:34 ` David Woodhouse
2026-08-12 15:03 ` David Woodhouse
2026-08-12 15:49 ` David Woodhouse
2026-08-12 16:20 ` Sean Christopherson
2026-08-12 17:17 ` David Woodhouse
2026-08-12 21:38 ` Paul E. McKenney
2026-08-12 21:55 ` David Woodhouse
2026-08-13 7:54 ` David Woodhouse
2026-08-18 18:18 ` Paul E. McKenney
2026-08-18 18:28 ` David Woodhouse
2026-08-20 14:43 ` David Woodhouse
2026-08-21 17:38 ` Paul E. McKenney
2026-08-25 12:15 ` David Woodhouse
2026-08-25 16:47 ` Paul E. McKenney
2026-08-25 17:05 ` David Woodhouse
2026-08-25 17:19 ` Paul E. McKenney
2026-08-25 17:48 ` David Woodhouse
2026-08-25 18:16 ` Paul E. McKenney
2026-08-25 19:58 ` Sean Christopherson
2026-08-25 20:51 ` Paul E. McKenney
2026-08-26 7:32 ` Sebastian Andrzej Siewior
2026-08-26 7:38 ` David Woodhouse
2026-08-26 15:05 ` Paul E. McKenney
2026-08-26 16:28 ` Paul E. McKenney
2026-08-26 18:01 ` David Woodhouse
2026-08-26 19:59 ` Paul E. McKenney
2026-08-26 20:30 ` David Woodhouse
2026-08-26 21:04 ` Paul E. McKenney
2026-08-27 8:20 ` Sebastian Andrzej Siewior
2026-08-27 23:25 ` David Woodhouse
2026-08-28 23:18 ` David Woodhouse
[not found] ` <90d91673-a912-439f-98ee-e43285294486@paulmck-laptop>
2026-09-01 9:40 ` David Woodhouse [this message]
2026-09-01 19:12 ` Sean Christopherson
2026-09-01 20:40 ` Paul E. McKenney
2026-09-01 22:51 ` Sean Christopherson
2026-08-12 16:04 ` Paolo Bonzini
2026-08-12 16:07 ` Jason Gunthorpe
2026-08-12 17:49 ` David Woodhouse
2026-08-20 13:30 ` Sebastian Andrzej Siewior
2026-08-20 14:26 ` David Woodhouse
2026-08-20 15:34 ` Sebastian Andrzej Siewior
2026-08-20 18:49 ` David Woodhouse
2026-08-12 8:13 ` Michal Hocko
2026-08-11 15:29 ` Jason Gunthorpe
2026-08-11 15:15 ` David Woodhouse
2026-08-11 15:24 ` Jason Gunthorpe
2026-08-11 15:29 ` David Woodhouse
2026-08-11 16:24 ` Jason Gunthorpe
2026-08-11 17:22 ` David Woodhouse
2026-08-11 17:26 ` Jason Gunthorpe
2026-08-11 17:59 ` David Woodhouse
2026-08-11 18:19 ` Jason Gunthorpe
2026-08-11 20:06 ` Sean Christopherson
2026-08-11 20:21 ` Paolo Bonzini
2026-08-11 21:14 ` David Woodhouse
2026-08-11 22:58 ` Sean Christopherson
2026-08-11 23:50 ` David Woodhouse
2026-08-12 10:25 ` David Woodhouse
2026-08-12 16:07 ` Sean Christopherson
2026-08-11 20:29 ` David Woodhouse
2026-08-11 15:12 ` David Hildenbrand (Arm)
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=8cd4aa65b1b499d4c614aa4cba445b6aeb89acf7.camel@infradead.org \
--to=dwmw2@infradead.org \
--cc=akpm@linux-foundation.org \
--cc=bigeasy@linutronix.de \
--cc=christian.koenig@amd.com \
--cc=clrkwllms@kernel.org \
--cc=david@kernel.org \
--cc=jgg@ziepe.ca \
--cc=jglisse@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=liam@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-rt-devel@lists.linux.dev \
--cc=ljs@kernel.org \
--cc=mhocko@suse.com \
--cc=paulmck@kernel.org \
--cc=pbonzini@redhat.com \
--cc=rostedt@goodmis.org \
--cc=rppt@kernel.org \
--cc=seanjc@google.com \
--cc=simona.vetter@ffwll.ch \
--cc=surenb@google.com \
--cc=vbabka@kernel.org \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox