From: Hugh Dickins <hughd@google.com>
To: Suren Baghdasaryan <surenb@google.com>
Cc: Hugh Dickins <hughd@google.com>,
akpm@linux-foundation.org, willy@infradead.org,
liam.howlett@oracle.com, lorenzo.stoakes@oracle.com,
mhocko@suse.com, vbabka@suse.cz, hannes@cmpxchg.org,
mjguzik@gmail.com, oliver.sang@intel.com,
mgorman@techsingularity.net, david@redhat.com,
peterx@redhat.com, oleg@redhat.com, dave@stgolabs.net,
paulmck@kernel.org, brauner@kernel.org, dhowells@redhat.com,
hdanton@sina.com, minchan@google.com, jannh@google.com,
shakeel.butt@linux.dev, souravpanda@google.com,
pasha.tatashin@soleen.com, linux-mm@kvack.org,
linux-kernel@vger.kernel.org, kernel-team@android.com
Subject: Re: [PATCH v2 4/5] mm: make vma cache SLAB_TYPESAFE_BY_RCU
Date: Tue, 12 Nov 2024 22:52:24 -0800 (PST) [thread overview]
Message-ID: <54394536-da24-d01d-e4a7-2ece22b1ddab@google.com> (raw)
In-Reply-To: <CAJuCfpEG7hhh+mHbZe_9duk2kbFvv_NeGfBqw0JBxiHK-9yWxQ@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1702 bytes --]
On Tue, 12 Nov 2024, Suren Baghdasaryan wrote:
> On Tue, Nov 12, 2024 at 9:08 PM Hugh Dickins <hughd@google.com> wrote:
> > On Tue, 12 Nov 2024, Suren Baghdasaryan wrote:
> > >
> > > Thinking about this some more, I don't think this works. I'm relying
> > > on vma_start_read() to stabilize the vma, however the lock I'm taking
> > > is part of the vma which can be reused from under us. So, the lock I'm
> > > taking might be reinitialized after I take the lock...
> > > I need to figure out a way to stabilize the vma in some other manner
> > > before taking this lock.
> >
> > (I'm not paying attention and following the patches, I just happened
> > to notice this remark: forgive me if I'm out of context and have
> > misunderstood, but hope this might help:)
> >
> > But this is exactly the problem SLAB_TYPESAFE_BY_RCU was invented for.
> > You just have to be careful that the locks are initialized only when the
> > slab is first created (allocated from buddy), not reinitialized whenever
> > a new object is allocated from that slab.
>
> Hi Hugh!
> I'm looking into SLAB_TYPESAFE_BY_RCU implementation and trying to
> figure out if initializing the lock in the ctor() of the cache as
> mentioned in the comment here:
> https://elixir.bootlin.com/linux/v6.12-rc7/source/include/linux/slab.h#L127
> would help my case. I assume that's what you are hinting here?
Yes, if I'm "hinting", it's because offhand I forget the right names:
"ctor", yes, that sounds right.
Just grep around for examples of how it is used: there must be plenty
now. but anon_vma is what it was first used for.
But given the title of this patch, I'm surprised it's new to you.
Hugh
next prev parent reply other threads:[~2024-11-13 6:52 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-12 19:46 [PATCH v2 0/5] move per-vma lock into vm_area_struct Suren Baghdasaryan
2024-11-12 19:46 ` [PATCH v2 1/5] mm: introduce vma_start_read_locked{_nested} helpers Suren Baghdasaryan
2024-11-13 14:10 ` Lorenzo Stoakes
2024-11-13 15:30 ` Suren Baghdasaryan
2024-11-12 19:46 ` [PATCH v2 2/5] mm: move per-vma lock into vm_area_struct Suren Baghdasaryan
2024-11-13 14:28 ` Lorenzo Stoakes
2024-11-13 14:45 ` Vlastimil Babka
2024-11-13 14:58 ` Lorenzo Stoakes
2024-11-13 15:09 ` Vlastimil Babka
2024-11-13 14:53 ` Mateusz Guzik
2024-11-13 14:59 ` Lorenzo Stoakes
2024-11-13 15:01 ` Lorenzo Stoakes
2024-11-13 15:45 ` Suren Baghdasaryan
2024-11-13 15:42 ` Suren Baghdasaryan
2024-11-12 19:46 ` [PATCH v2 3/5] mm: mark vma as detached until it's added into vma tree Suren Baghdasaryan
2024-11-13 14:43 ` Lorenzo Stoakes
2024-11-13 15:37 ` Suren Baghdasaryan
2024-11-12 19:46 ` [PATCH v2 4/5] mm: make vma cache SLAB_TYPESAFE_BY_RCU Suren Baghdasaryan
2024-11-13 2:57 ` Suren Baghdasaryan
2024-11-13 5:08 ` Hugh Dickins
2024-11-13 6:03 ` Suren Baghdasaryan
2024-11-13 6:52 ` Hugh Dickins [this message]
2024-11-13 8:19 ` Suren Baghdasaryan
2024-11-13 8:58 ` Vlastimil Babka
2024-11-13 12:38 ` Liam R. Howlett
2024-11-13 13:57 ` Matthew Wilcox
2024-11-13 15:22 ` Liam R. Howlett
2024-11-13 15:25 ` Suren Baghdasaryan
2024-11-13 15:29 ` Liam R. Howlett
2024-11-13 15:47 ` Suren Baghdasaryan
2024-11-13 19:05 ` Suren Baghdasaryan
2024-11-14 16:18 ` Suren Baghdasaryan
2024-11-14 16:21 ` Vlastimil Babka
2024-11-13 16:44 ` Jann Horn
2024-11-13 20:59 ` Matthew Wilcox
2024-11-13 21:23 ` Jann Horn
2024-11-12 19:46 ` [PATCH v2 5/5] docs/mm: document latest changes to vm_lock Suren Baghdasaryan
2024-11-12 19:51 ` Suren Baghdasaryan
2024-11-13 14:46 ` Lorenzo Stoakes
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=54394536-da24-d01d-e4a7-2ece22b1ddab@google.com \
--to=hughd@google.com \
--cc=akpm@linux-foundation.org \
--cc=brauner@kernel.org \
--cc=dave@stgolabs.net \
--cc=david@redhat.com \
--cc=dhowells@redhat.com \
--cc=hannes@cmpxchg.org \
--cc=hdanton@sina.com \
--cc=jannh@google.com \
--cc=kernel-team@android.com \
--cc=liam.howlett@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lorenzo.stoakes@oracle.com \
--cc=mgorman@techsingularity.net \
--cc=mhocko@suse.com \
--cc=minchan@google.com \
--cc=mjguzik@gmail.com \
--cc=oleg@redhat.com \
--cc=oliver.sang@intel.com \
--cc=pasha.tatashin@soleen.com \
--cc=paulmck@kernel.org \
--cc=peterx@redhat.com \
--cc=shakeel.butt@linux.dev \
--cc=souravpanda@google.com \
--cc=surenb@google.com \
--cc=vbabka@suse.cz \
--cc=willy@infradead.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.