From: Matthew Wilcox <willy@infradead.org>
To: lsf-pc@lists.linux-foundation.org, linux-mm@kvack.org
Subject: [LSF/MM/BPF TOPIC] SLAB BOF
Date: Mon, 22 Apr 2024 15:23:21 +0100 [thread overview]
Message-ID: <ZiZy2VVpTQMjN-ko@casper.infradead.org> (raw)
I have a fairly radical idea for a new slab allocator design which
I want to sit down with Vlastimil and a whiteboard to flesh out.
Obviously the two of us could just sneak off somewhere, but it'd
probably make more sense to schedule this as a BOF.
The basic idea is to decouple the objects from the page they reside in.
Instead of having a struct slab to organise the objects on this page,
we organise the objects into sheaves. A sheaf always contains objects
from the same NUMA node, but not necessarily the same page. For each
kmem_cache, there is a per-NUMA-node barn which the per-CPU front end of
the slab allocator will request full sheaves from and give full sheaves
back to. If we RCU-free an object, that goes to the per-CPU rcu-freeing
sheaf, which is handed to RCU once full.
The obvious objection to all of this is that the story for reclaiming
pages from slab is pretty awful. I'd hope to brainstorm some idea for
improving that (perhaps in the construction of the barn where we could
pull sheaves part and put them back together in some kind of order?)
next reply other threads:[~2024-04-22 14:23 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-22 14:23 Matthew Wilcox [this message]
2024-04-24 12:52 ` David Hildenbrand
2024-04-24 14:43 ` Matthew Wilcox
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=ZiZy2VVpTQMjN-ko@casper.infradead.org \
--to=willy@infradead.org \
--cc=linux-mm@kvack.org \
--cc=lsf-pc@lists.linux-foundation.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