All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Rientjes <rientjes@google.com>
To: Hyeonggon Yoo <42.hyeyoo@gmail.com>
Cc: Vlastimil Babka <vbabka@suse.cz>,
	linux-mm@kvack.org, Christoph Lameter <cl@linux.com>,
	Pekka Enberg <penberg@kernel.org>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-kernel@vger.kernel.org
Subject: Re: [QUESTION] is SLAB considered legacy and deprecated?
Date: Sun, 3 Oct 2021 18:25:29 -0700 (PDT)	[thread overview]
Message-ID: <377a622-9a5e-37dc-8f8d-42ae124042b6@google.com> (raw)
In-Reply-To: <20211003055928.GA7643@linux.asia-northeast3-a.c.our-ratio-313919.internal>

On Sun, 3 Oct 2021, Hyeonggon Yoo wrote:

> I think the points are still valid because on some workloads SLAB works
> better. especially when alloc/frees are intensive, SLUB tends to become
> bottleneck.
> 
> If we can't drop SLAB, it should be at least maintained :(
> But it has been neglected for a long time, which makes people not to
> use SLAB. Nobody likes to use a subsystem that isn't maintained.
> 
> Anyway, I'm curious about share of SLAB and SLUB and on what situations
> SLAB or SLUB is preferred. that information would help maintain both.
> 

Thanks for raising this, the discussion is always useful.  Both allocators 
have their pros and cons.

I would disagree that SLAB isn't currently maintained, I think it's 
actively maintained.  Google actually uses it for its production kernel 
although we're investigating the performance results that we can obtain 
from SLUB not that we have per-object memcg accounting.  There have been 
workloads, as you mention, that perform better with SLAB even though SLUB 
can make up for some of its degradation by throwing more memory at the 
problem (like per-cpu partial slabs).

I think the general guidance is that changes for both allocators can still 
be merged upstream if they show a significant win (improved performnace, 
maintaining performance while reducing memory footprint, code hygiene, 
etc) and there's no specific policy that we cannot make changes to 
mm/slab.c.

  reply	other threads:[~2021-10-04  1:25 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-27  9:03 [QUESTION] is SLAB considered legacy and deprecated? Hyeonggon Yoo
2021-09-27 17:03 ` Vlastimil Babka
2021-09-28 11:12   ` Hyeonggon Yoo
2021-09-29 10:50     ` Hyeonggon Yoo
2021-10-01 14:07     ` Vlastimil Babka
2021-10-03  5:59       ` Hyeonggon Yoo
2021-10-04  1:25         ` David Rientjes [this message]
2021-10-04  1:25           ` David Rientjes
2021-10-04  6:01           ` Hyeonggon Yoo
2021-10-04 11:39             ` Vlastimil Babka
2021-10-05 13:31               ` Hyeonggon Yoo
2021-10-04 11:34         ` Vlastimil Babka
2021-10-04 14:22           ` Hyeonggon Yoo
2021-10-01  0:39   ` Queueing is outside of SLUB nowdays Hyeonggon Yoo
2021-10-04 14:56     ` Christoph Lameter
2021-10-04 14:56       ` Christoph Lameter
2021-10-05  8:19       ` Vlastimil Babka
2021-10-05 14:16         ` Hyeonggon Yoo

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=377a622-9a5e-37dc-8f8d-42ae124042b6@google.com \
    --to=rientjes@google.com \
    --cc=42.hyeyoo@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=cl@linux.com \
    --cc=iamjoonsoo.kim@lge.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=penberg@kernel.org \
    --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 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.