linux-xfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Roman Gushchin <roman.gushchin@linux.dev>
To: Vlastimil Babka <vbabka@suse.cz>
Cc: lsf-pc@lists.linux-foundation.org, linux-fsdevel@vger.kernel.org,
	linux-mm@kvack.org, linux-block@vger.kernel.org,
	bpf@vger.kernel.org, linux-xfs@vger.kernel.org,
	David Rientjes <rientjes@google.com>,
	Christoph Lameter <cl@linux.com>,
	Pekka Enberg <penberg@kernel.org>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>
Subject: Re: [LSF/MM/BPF TOPIC] SLOB+SLAB allocators removal and future SLUB improvements
Date: Thu, 16 Mar 2023 13:20:34 -0700	[thread overview]
Message-ID: <ZBN6Eus03wRSbqwf@P9FQF9L96D.corp.robot.car> (raw)
In-Reply-To: <c87d4f6c-e947-70b2-f74f-2e5145572123@suse.cz>


On Thu, Mar 16, 2023 at 09:18:11AM +0100, Vlastimil Babka wrote:
> On 3/15/23 03:54, Roman Gushchin wrote:
> > On Tue, Mar 14, 2023 at 09:05:13AM +0100, Vlastimil Babka wrote:
> >> As you're probably aware, my plan is to get rid of SLOB and SLAB, leaving
> >> only SLUB going forward. The removal of SLOB seems to be going well, there
> >> were no objections to the deprecation and I've posted v1 of the removal
> >> itself [1] so it could be in -next soon.
> >> 
> >> The immediate benefit of that is that we can allow kfree() (and kfree_rcu())
> >> to free objects from kmem_cache_alloc() - something that IIRC at least xfs
> >> people wanted in the past, and SLOB was incompatible with that.
> >> 
> >> For SLAB removal I haven't yet heard any objections (but also didn't
> >> deprecate it yet) but if there are any users due to particular workloads
> >> doing better with SLAB than SLUB, we can discuss why those would regress and
> >> what can be done about that in SLUB.
> >> 
> >> Once we have just one slab allocator in the kernel, we can take a closer
> >> look at what the users are missing from it that forces them to create own
> >> allocators (e.g. BPF), and could be considered to be added as a generic
> >> implementation to SLUB.
> > 
> > I guess eventually we want to merge the percpu allocator too.
> 
> What exactly do you mean here, probably not mm/percpu.c

Actually, I mean mm/percpu.c

> which is too different from slab

It is currently, but mostly for historical reasons, I guess.

In fact, all is needed (I drastically simplify here) is to replicate
an allocation for each cpu, which can be done by having special slab_caches
with a set of pages per cpu. I believe that in the long run the percpu allocator
can greatly benefit from it. The need for the performance and fragmentation avoidance
improvements grows with the increased number of percpu applications.

But it's not a small project by any means and to my knowledge nobody is actively
working on it, so my comment can be ignored now.

Thanks!

  reply	other threads:[~2023-03-16 20:30 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-14  8:05 [LSF/MM/BPF TOPIC] SLOB+SLAB allocators removal and future SLUB improvements Vlastimil Babka
2023-03-14 13:06 ` Matthew Wilcox
2023-03-15  2:54 ` Roman Gushchin
2023-03-16  8:18   ` Vlastimil Babka
2023-03-16 20:20     ` Roman Gushchin [this message]
2023-03-22 12:30 ` Binder Makin
2023-04-04 16:03   ` Vlastimil Babka
2023-04-05 19:54     ` Binder Makin
2023-04-27  8:29       ` Vlastimil Babka
2023-05-05 19:44         ` Binder Makin
     [not found] ` <CAANmLtzajny8ZK_QKVYOxLc8L9gyWG6Uu7YyL-CR-qfwphVTzg@mail.gmail.com>
2023-03-22 13:02   ` Hyeonggon Yoo
2023-03-22 13:24     ` Binder Makin
2023-03-22 13:30     ` Binder Makin

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=ZBN6Eus03wRSbqwf@P9FQF9L96D.corp.robot.car \
    --to=roman.gushchin@linux.dev \
    --cc=42.hyeyoo@gmail.com \
    --cc=bpf@vger.kernel.org \
    --cc=cl@linux.com \
    --cc=iamjoonsoo.kim@lge.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-xfs@vger.kernel.org \
    --cc=lsf-pc@lists.linux-foundation.org \
    --cc=penberg@kernel.org \
    --cc=rientjes@google.com \
    --cc=vbabka@suse.cz \
    /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;
as well as URLs for NNTP newsgroup(s).