Thread (33 messages) 33 messages, 7 authors, 2026-06-16

Re: [PATCH v2 2/5] binder: Make shrinker rely solely on per-VMA lock

From: Carlos Llamas <cmllamas@google.com>
Date: 2026-06-14 14:11:00
Also in: linux-mm, lkml

On Fri, Jun 12, 2026 at 07:50:16PM +0000, Alice Ryhl wrote:
On Fri, Jun 12, 2026 at 11:47:59AM -0700, Dave Hansen wrote:
quoted
On 6/12/26 10:44, Suren Baghdasaryan wrote:
quoted
quoted
It's not impossible, but I do think it is irrelevant. Or at least that
the *VMA* is irrelevant in this case. binder_alloc_is_mapped()==false
means that the binder VMA is gone. It's not in the maple tree, and it's
not coming back. If a VMA is found, it's an impostor.
Right, but before your change we were bailing out early. With your
change we would be generating the traces and freeing the page. I think
that's a functional change. Was that your intention?
Yeah, it was intentional.

I think the existing behavior is buggy. It also complicates the goal of
removing the mmap lock fallback. I've broken that behavior change out
into a separate patch. (attached here)
I think you can just:

1. do a lock_vma_under_rcu().
2. if it fails, check binder_alloc_is_mapped().
3. if still mapped, return LRU_SKIP, otherwise behave like a failed
   vma_lookup() does today under the mmap read lock.
Right! This is the same suggestion I sent.

...
Also, I would _prefer_ if the commit message was more accurate. The
mmap_lock fallback was there because of "compatibility", as per-vma
locking is technically behind CONFIG_PER_VMA_LOCK. This would be the
only part that IMO describes the actual reason for the change:
Now that per-VMA locks are universally available, lock_vma_under_rcu()
will not persistently fail. Rely on it alone and simplify the code.
Cheers,
--
Carlos Llamas
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help