[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240131172027.10f64405@gandalf.local.home>
Date: Wed, 31 Jan 2024 17:20:27 -0500
From: Steven Rostedt <rostedt@...dmis.org>
To: LKML <linux-kernel@...r.kernel.org>, linux-mm@...ck.org
Cc: Andrew Morton <akpm@...ux-foundation.org>, Linus Torvalds
<torvalds@...ux-foundation.org>, Vlastimil Babka <vbabka@...e.cz>, Kees
Cook <keescook@...omium.org>, Christoph Lameter <cl@...ux.com>, David
Rientjes <rientjes@...gle.com>, Hyeonggon Yoo <42.hyeyoo@...il.com>
Subject: Do we still need SLAB_MEM_SPREAD (and possibly others)?
I was looking into moving eventfs_inode into a slab, and after cutting and
pasting the tracefs allocator:
tracefs_inode_cachep = kmem_cache_create("tracefs_inode_cache",
sizeof(struct tracefs_inode),
0, (SLAB_RECLAIM_ACCOUNT|
SLAB_MEM_SPREAD|
SLAB_ACCOUNT),
init_once);
I figured I should know what those slab flags mean. I also looked at what
others in fs use for their slabs. The above is rather common (which I
probably just copied from another file system), but I wanted to know what
they are for.
When I got to SLAB_MEM_SPREAD, I found that it's a common flag and there's
a lot of caches that just set that and nothing else.
But I couldn't find how it was used.
Then I found this commit:
16a1d968358a ("mm/slab: remove mm/slab.c and slab_def.h")
Which I think removed the only use case of SLAB_MEM_SPREAD.
$ git grep SLAB_MEM_SPREAD mm
mm/slab.h: SLAB_MEM_SPREAD | \
That's all I find in the mm directory.
Is it obsolete now? Can we delete it? Maybe there's other SLAB_* flags that
are no longer used. I don't know, I haven't audited them.
-- Steve
Powered by blists - more mailing lists