* [PATCH v2 00/11] Various slab improvements
@ 2025-06-11 15:59 Matthew Wilcox (Oracle)
2025-06-11 15:59 ` [PATCH v2 01/11] doc: Move SLUB documentation to the admin guide Matthew Wilcox (Oracle)
` (11 more replies)
0 siblings, 12 replies; 17+ messages in thread
From: Matthew Wilcox (Oracle) @ 2025-06-11 15:59 UTC (permalink / raw)
To: Vlastimil Babka
Cc: Matthew Wilcox (Oracle), Christoph Lameter, David Rientjes,
Roman Gushchin, Harry Yoo, linux-mm
This started out as fixing up slab->__page_flags and then I started
checking the documentation build and kept finding more and more problems.
So this is now mostly documentation changes and getting rid of the last
mentions of PG_slab.
v2:
- Reword opening paragraph of admin guide (Vlastimil)
- Correct a couple of paths to point to the admin guide instead
of the internals
- Fix SL_locked to PG_locked
- Move slab_flags from slab.h to slub.c
- Fix subject of SL_partial patch
- Move Christoph & David from M: to R:
- Expand glob of F: mm/sl?b* (Vlastimil)
- Added krealloc doc fix (Jon Corbet)
Jonathan Corbet (1):
slub: Fix a documentation build error for krealloc()
Matthew Wilcox (Oracle) (10):
doc: Move SLUB documentation to the admin guide
slab: Rename slab->__page_flags to slab->flags
slab: Add SL_partial flag
slab: Add SL_pfmemalloc flag
doc: Add slab internal kernel-doc
vmcoreinfo: Remove documentation of PG_slab and PG_hugetlb
proc: Remove mention of PG_slab
kfence: Remove mention of PG_slab
memcg_slabinfo: Fix use of PG_slab
slab: Update MAINTAINERS entry
Documentation/ABI/testing/sysfs-kernel-slab | 5 +-
.../admin-guide/kdump/vmcoreinfo.rst | 8 +--
.../admin-guide/kernel-parameters.txt | 12 ++--
Documentation/admin-guide/mm/index.rst | 1 +
.../{mm/slub.rst => admin-guide/mm/slab.rst} | 19 +++--
Documentation/mm/index.rst | 1 -
Documentation/mm/slab.rst | 7 ++
MAINTAINERS | 14 ++--
fs/proc/page.c | 5 +-
mm/kfence/core.c | 4 +-
mm/slab.h | 28 +-------
mm/slub.c | 71 +++++++++++++------
tools/cgroup/memcg_slabinfo.py | 4 +-
13 files changed, 98 insertions(+), 81 deletions(-)
rename Documentation/{mm/slub.rst => admin-guide/mm/slab.rst} (97%)
--
2.47.2
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v2 01/11] doc: Move SLUB documentation to the admin guide
2025-06-11 15:59 [PATCH v2 00/11] Various slab improvements Matthew Wilcox (Oracle)
@ 2025-06-11 15:59 ` Matthew Wilcox (Oracle)
2025-06-11 15:59 ` [PATCH v2 02/11] slab: Rename slab->__page_flags to slab->flags Matthew Wilcox (Oracle)
` (10 subsequent siblings)
11 siblings, 0 replies; 17+ messages in thread
From: Matthew Wilcox (Oracle) @ 2025-06-11 15:59 UTC (permalink / raw)
To: Vlastimil Babka
Cc: Matthew Wilcox (Oracle), Christoph Lameter, David Rientjes,
Roman Gushchin, Harry Yoo, linux-mm
This section is supposed to be for internal documentation, while the
document is advice for sysadmins. Move it to the appropriate place.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Acked-by: Harry Yoo <harry.yoo@oracle.com>
---
Documentation/ABI/testing/sysfs-kernel-slab | 5 +++--
.../admin-guide/kernel-parameters.txt | 12 +++++++-----
Documentation/admin-guide/mm/index.rst | 1 +
.../{mm/slub.rst => admin-guide/mm/slab.rst} | 19 +++++++++----------
Documentation/mm/index.rst | 1 -
5 files changed, 20 insertions(+), 18 deletions(-)
rename Documentation/{mm/slub.rst => admin-guide/mm/slab.rst} (97%)
diff --git a/Documentation/ABI/testing/sysfs-kernel-slab b/Documentation/ABI/testing/sysfs-kernel-slab
index 658999be5164..b26e4299f822 100644
--- a/Documentation/ABI/testing/sysfs-kernel-slab
+++ b/Documentation/ABI/testing/sysfs-kernel-slab
@@ -37,7 +37,8 @@ Description:
The alloc_calls file is read-only and lists the kernel code
locations from which allocations for this cache were performed.
The alloc_calls file only contains information if debugging is
- enabled for that cache (see Documentation/mm/slub.rst).
+ enabled for that cache (see
+ Documentation/admin-guide/mm/slab.rst).
What: /sys/kernel/slab/<cache>/alloc_fastpath
Date: February 2008
@@ -219,7 +220,7 @@ Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
Description:
The free_calls file is read-only and lists the locations of
object frees if slab debugging is enabled (see
- Documentation/mm/slub.rst).
+ Documentation/admin-guide/mm/slab.rst).
What: /sys/kernel/slab/<cache>/free_fastpath
Date: February 2008
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index 5c5b8ceafd45..f6b45d444e63 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -6568,7 +6568,7 @@
slab_debug can create guard zones around objects and
may poison objects when not in use. Also tracks the
last alloc / free. For more information see
- Documentation/mm/slub.rst.
+ Documentation/admin-guide/mm/slab.rst.
(slub_debug legacy name also accepted for now)
Using this option implies the "no_hash_pointers"
@@ -6579,7 +6579,7 @@
Determines the maximum allowed order for slabs.
A high setting may cause OOMs due to memory
fragmentation. For more information see
- Documentation/mm/slub.rst.
+ Documentation/admin-guide/mm/slab.rst.
(slub_max_order legacy name also accepted for now)
slab_merge [MM]
@@ -6594,13 +6594,14 @@
the number of objects indicated. The higher the number
of objects the smaller the overhead of tracking slabs
and the less frequently locks need to be acquired.
- For more information see Documentation/mm/slub.rst.
+ For more information see
+ Documentation/admin-guide/mm/slab.rst.
(slub_min_objects legacy name also accepted for now)
slab_min_order= [MM]
Determines the minimum page order for slabs. Must be
lower or equal to slab_max_order. For more information see
- Documentation/mm/slub.rst.
+ Documentation/admin-guide/mm/slab.rst.
(slub_min_order legacy name also accepted for now)
slab_nomerge [MM]
@@ -6614,7 +6615,8 @@
cache (risks via metadata attacks are mostly
unchanged). Debug options disable merging on their
own.
- For more information see Documentation/mm/slub.rst.
+ For more information see
+ Documentation/admin-guide/mm/slab.rst.
(slub_nomerge legacy name also accepted for now)
slab_strict_numa [MM]
diff --git a/Documentation/admin-guide/mm/index.rst b/Documentation/admin-guide/mm/index.rst
index 2d2f6c222308..ebc83ca20fdc 100644
--- a/Documentation/admin-guide/mm/index.rst
+++ b/Documentation/admin-guide/mm/index.rst
@@ -37,6 +37,7 @@ the Linux memory management.
numaperf
pagemap
shrinker_debugfs
+ slab
soft-dirty
swap_numa
transhuge
diff --git a/Documentation/mm/slub.rst b/Documentation/admin-guide/mm/slab.rst
similarity index 97%
rename from Documentation/mm/slub.rst
rename to Documentation/admin-guide/mm/slab.rst
index 84ca1dc94e5e..14429ab90611 100644
--- a/Documentation/mm/slub.rst
+++ b/Documentation/admin-guide/mm/slab.rst
@@ -1,13 +1,12 @@
-==========================
-Short users guide for SLUB
-==========================
-
-The basic philosophy of SLUB is very different from SLAB. SLAB
-requires rebuilding the kernel to activate debug options for all
-slab caches. SLUB always includes full debugging but it is off by default.
-SLUB can enable debugging only for selected slabs in order to avoid
-an impact on overall system performance which may make a bug more
-difficult to find.
+========================================
+Short users guide for the slab allocator
+========================================
+
+The slab allocator includes full debugging support (when built with
+CONFIG_SLUB_DEBUG=y) but it is off by default (unless built with
+CONFIG_SLUB_DEBUG_ON=y). You can enable debugging only for selected
+slabs in order to avoid an impact on overall system performance which
+may make a bug more difficult to find.
In order to switch debugging on one can add an option ``slab_debug``
to the kernel command line. That will enable full debugging for
diff --git a/Documentation/mm/index.rst b/Documentation/mm/index.rst
index d3ada3e45e10..fb45acba16ac 100644
--- a/Documentation/mm/index.rst
+++ b/Documentation/mm/index.rst
@@ -56,7 +56,6 @@ documentation, or deleted if it has served its purpose.
page_owner
page_table_check
remap_file_pages
- slub
split_page_table_lock
transhuge
unevictable-lru
--
2.47.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 02/11] slab: Rename slab->__page_flags to slab->flags
2025-06-11 15:59 [PATCH v2 00/11] Various slab improvements Matthew Wilcox (Oracle)
2025-06-11 15:59 ` [PATCH v2 01/11] doc: Move SLUB documentation to the admin guide Matthew Wilcox (Oracle)
@ 2025-06-11 15:59 ` Matthew Wilcox (Oracle)
2025-06-11 15:59 ` [PATCH v2 03/11] slab: Add SL_partial flag Matthew Wilcox (Oracle)
` (9 subsequent siblings)
11 siblings, 0 replies; 17+ messages in thread
From: Matthew Wilcox (Oracle) @ 2025-06-11 15:59 UTC (permalink / raw)
To: Vlastimil Babka
Cc: Matthew Wilcox (Oracle), Christoph Lameter, David Rientjes,
Roman Gushchin, Harry Yoo, linux-mm
Slab has its own reasons for using flag bits; they aren't just
the page bits. Maybe this won't be the ultimate solution, but
we should be clear that these bits are in use.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
---
mm/slab.h | 4 ++--
mm/slub.c | 18 +++++++++++++++---
2 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/mm/slab.h b/mm/slab.h
index 05a21dc796e0..32785ff3470a 100644
--- a/mm/slab.h
+++ b/mm/slab.h
@@ -50,7 +50,7 @@ typedef union {
/* Reuses the bits in struct page */
struct slab {
- unsigned long __page_flags;
+ unsigned long flags;
struct kmem_cache *slab_cache;
union {
@@ -99,7 +99,7 @@ struct slab {
#define SLAB_MATCH(pg, sl) \
static_assert(offsetof(struct page, pg) == offsetof(struct slab, sl))
-SLAB_MATCH(flags, __page_flags);
+SLAB_MATCH(flags, flags);
SLAB_MATCH(compound_head, slab_cache); /* Ensure bit 0 is clear */
SLAB_MATCH(_refcount, __page_refcount);
#ifdef CONFIG_MEMCG
diff --git a/mm/slub.c b/mm/slub.c
index 31a47299cd99..be44d7bd1f89 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -183,6 +183,18 @@
* the fast path and disables lockless freelists.
*/
+/**
+ * enum slab_flags - How the slab flags bits are used.
+ * @SL_locked: Is locked with slab_lock()
+ *
+ * The slab flags share space with the page flags but some bits have
+ * different interpretations. The high bits are used for information
+ * like zone/node/section.
+ */
+enum slab_flags {
+ SL_locked = PG_locked,
+};
+
/*
* We could simply use migrate_disable()/enable() but as long as it's a
* function call even on !PREEMPT_RT, use inline preempt_disable() there.
@@ -639,12 +651,12 @@ static inline unsigned int slub_get_cpu_partial(struct kmem_cache *s)
*/
static __always_inline void slab_lock(struct slab *slab)
{
- bit_spin_lock(PG_locked, &slab->__page_flags);
+ bit_spin_lock(SL_locked, &slab->flags);
}
static __always_inline void slab_unlock(struct slab *slab)
{
- bit_spin_unlock(PG_locked, &slab->__page_flags);
+ bit_spin_unlock(SL_locked, &slab->flags);
}
static inline bool
@@ -1010,7 +1022,7 @@ static void print_slab_info(const struct slab *slab)
{
pr_err("Slab 0x%p objects=%u used=%u fp=0x%p flags=%pGp\n",
slab, slab->objects, slab->inuse, slab->freelist,
- &slab->__page_flags);
+ &slab->flags);
}
void skip_orig_size_check(struct kmem_cache *s, const void *object)
--
2.47.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 03/11] slab: Add SL_partial flag
2025-06-11 15:59 [PATCH v2 00/11] Various slab improvements Matthew Wilcox (Oracle)
2025-06-11 15:59 ` [PATCH v2 01/11] doc: Move SLUB documentation to the admin guide Matthew Wilcox (Oracle)
2025-06-11 15:59 ` [PATCH v2 02/11] slab: Rename slab->__page_flags to slab->flags Matthew Wilcox (Oracle)
@ 2025-06-11 15:59 ` Matthew Wilcox (Oracle)
2025-06-11 15:59 ` [PATCH v2 04/11] slab: Add SL_pfmemalloc flag Matthew Wilcox (Oracle)
` (8 subsequent siblings)
11 siblings, 0 replies; 17+ messages in thread
From: Matthew Wilcox (Oracle) @ 2025-06-11 15:59 UTC (permalink / raw)
To: Vlastimil Babka
Cc: Matthew Wilcox (Oracle), Christoph Lameter, David Rientjes,
Roman Gushchin, Harry Yoo, linux-mm
Give slab its own name for this flag. Keep the PG_workingset alias
information in one place.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Acked-by: Harry Yoo <harry.yoo@oracle.com>
---
mm/slub.c | 22 ++++++++++------------
1 file changed, 10 insertions(+), 12 deletions(-)
diff --git a/mm/slub.c b/mm/slub.c
index be44d7bd1f89..2bf1ad8a70ce 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -91,14 +91,14 @@
* The partially empty slabs cached on the CPU partial list are used
* for performance reasons, which speeds up the allocation process.
* These slabs are not frozen, but are also exempt from list management,
- * by clearing the PG_workingset flag when moving out of the node
+ * by clearing the SL_partial flag when moving out of the node
* partial list. Please see __slab_free() for more details.
*
* To sum up, the current scheme is:
- * - node partial slab: PG_Workingset && !frozen
- * - cpu partial slab: !PG_Workingset && !frozen
- * - cpu slab: !PG_Workingset && frozen
- * - full slab: !PG_Workingset && !frozen
+ * - node partial slab: SL_partial && !frozen
+ * - cpu partial slab: !SL_partial && !frozen
+ * - cpu slab: !SL_partial && frozen
+ * - full slab: !SL_partial && !frozen
*
* list_lock
*
@@ -186,6 +186,7 @@
/**
* enum slab_flags - How the slab flags bits are used.
* @SL_locked: Is locked with slab_lock()
+ * @SL_partial: On the per-node partial list
*
* The slab flags share space with the page flags but some bits have
* different interpretations. The high bits are used for information
@@ -193,6 +194,7 @@
*/
enum slab_flags {
SL_locked = PG_locked,
+ SL_partial = PG_workingset, /* Historical reasons for this bit */
};
/*
@@ -2729,23 +2731,19 @@ static void discard_slab(struct kmem_cache *s, struct slab *slab)
free_slab(s, slab);
}
-/*
- * SLUB reuses PG_workingset bit to keep track of whether it's on
- * the per-node partial list.
- */
static inline bool slab_test_node_partial(const struct slab *slab)
{
- return folio_test_workingset(slab_folio(slab));
+ return test_bit(SL_partial, &slab->flags);
}
static inline void slab_set_node_partial(struct slab *slab)
{
- set_bit(PG_workingset, folio_flags(slab_folio(slab), 0));
+ set_bit(SL_partial, &slab->flags);
}
static inline void slab_clear_node_partial(struct slab *slab)
{
- clear_bit(PG_workingset, folio_flags(slab_folio(slab), 0));
+ clear_bit(SL_partial, &slab->flags);
}
/*
--
2.47.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 04/11] slab: Add SL_pfmemalloc flag
2025-06-11 15:59 [PATCH v2 00/11] Various slab improvements Matthew Wilcox (Oracle)
` (2 preceding siblings ...)
2025-06-11 15:59 ` [PATCH v2 03/11] slab: Add SL_partial flag Matthew Wilcox (Oracle)
@ 2025-06-11 15:59 ` Matthew Wilcox (Oracle)
2025-06-11 15:59 ` [PATCH v2 05/11] slub: Fix a documentation build error for krealloc() Matthew Wilcox (Oracle)
` (7 subsequent siblings)
11 siblings, 0 replies; 17+ messages in thread
From: Matthew Wilcox (Oracle) @ 2025-06-11 15:59 UTC (permalink / raw)
To: Vlastimil Babka
Cc: Matthew Wilcox (Oracle), Christoph Lameter, David Rientjes,
Roman Gushchin, Harry Yoo, linux-mm
Give slab its own name for this flag. Move the implementation from
slab.h to slub.c since it's only used inside slub.c.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Acked-by: Harry Yoo <harry.yoo@oracle.com>
---
mm/slab.h | 24 ------------------------
mm/slub.c | 21 +++++++++++++++++++++
2 files changed, 21 insertions(+), 24 deletions(-)
diff --git a/mm/slab.h b/mm/slab.h
index 32785ff3470a..248b34c839b7 100644
--- a/mm/slab.h
+++ b/mm/slab.h
@@ -167,30 +167,6 @@ static_assert(IS_ALIGNED(offsetof(struct slab, freelist), sizeof(freelist_aba_t)
*/
#define slab_page(s) folio_page(slab_folio(s), 0)
-/*
- * If network-based swap is enabled, sl*b must keep track of whether pages
- * were allocated from pfmemalloc reserves.
- */
-static inline bool slab_test_pfmemalloc(const struct slab *slab)
-{
- return folio_test_active(slab_folio(slab));
-}
-
-static inline void slab_set_pfmemalloc(struct slab *slab)
-{
- folio_set_active(slab_folio(slab));
-}
-
-static inline void slab_clear_pfmemalloc(struct slab *slab)
-{
- folio_clear_active(slab_folio(slab));
-}
-
-static inline void __slab_clear_pfmemalloc(struct slab *slab)
-{
- __folio_clear_active(slab_folio(slab));
-}
-
static inline void *slab_address(const struct slab *slab)
{
return folio_address(slab_folio(slab));
diff --git a/mm/slub.c b/mm/slub.c
index 2bf1ad8a70ce..8a1df2ad26ed 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -187,6 +187,7 @@
* enum slab_flags - How the slab flags bits are used.
* @SL_locked: Is locked with slab_lock()
* @SL_partial: On the per-node partial list
+ * @SL_pfmemalloc: Was allocated from PF_MEMALLOC reserves
*
* The slab flags share space with the page flags but some bits have
* different interpretations. The high bits are used for information
@@ -195,6 +196,7 @@
enum slab_flags {
SL_locked = PG_locked,
SL_partial = PG_workingset, /* Historical reasons for this bit */
+ SL_pfmemalloc = PG_active, /* Historical reasons for this bit */
};
/*
@@ -648,6 +650,25 @@ static inline unsigned int slub_get_cpu_partial(struct kmem_cache *s)
}
#endif /* CONFIG_SLUB_CPU_PARTIAL */
+/*
+ * If network-based swap is enabled, slub must keep track of whether memory
+ * were allocated from pfmemalloc reserves.
+ */
+static inline bool slab_test_pfmemalloc(const struct slab *slab)
+{
+ return test_bit(SL_pfmemalloc, &slab->flags);
+}
+
+static inline void slab_set_pfmemalloc(struct slab *slab)
+{
+ set_bit(SL_pfmemalloc, &slab->flags);
+}
+
+static inline void __slab_clear_pfmemalloc(struct slab *slab)
+{
+ __clear_bit(SL_pfmemalloc, &slab->flags);
+}
+
/*
* Per slab locking using the pagelock
*/
--
2.47.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 05/11] slub: Fix a documentation build error for krealloc()
2025-06-11 15:59 [PATCH v2 00/11] Various slab improvements Matthew Wilcox (Oracle)
` (3 preceding siblings ...)
2025-06-11 15:59 ` [PATCH v2 04/11] slab: Add SL_pfmemalloc flag Matthew Wilcox (Oracle)
@ 2025-06-11 15:59 ` Matthew Wilcox (Oracle)
2025-06-11 15:59 ` [PATCH v2 06/11] doc: Add slab internal kernel-doc Matthew Wilcox (Oracle)
` (6 subsequent siblings)
11 siblings, 0 replies; 17+ messages in thread
From: Matthew Wilcox (Oracle) @ 2025-06-11 15:59 UTC (permalink / raw)
To: Vlastimil Babka
Cc: Jonathan Corbet, Christoph Lameter, David Rientjes,
Roman Gushchin, Harry Yoo, linux-mm, Matthew Wilcox (Oracle)
From: Jonathan Corbet <corbet@lwn.net>
The kerneldoc comment for krealloc() contains an unmarked literal block,
leading to these warnings in the docs build:
./mm/slub.c:4936: WARNING: Block quote ends without a blank line; unexpected unindent. [docutils]
./mm/slub.c:4936: ERROR: Undefined substitution referenced: "--------". [docutils]
Mark up and indent the block properly to bring a bit of peace to our build
logs.
Fixes: 489a744e5fb1 (mm: krealloc: clarify valid usage of __GFP_ZERO)
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
---
mm/slub.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/mm/slub.c b/mm/slub.c
index 8a1df2ad26ed..c49d820a12f9 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -4961,12 +4961,12 @@ __do_krealloc(const void *p, size_t new_size, gfp_t flags)
* When slub_debug_orig_size() is off, krealloc() only knows about the bucket
* size of an allocation (but not the exact size it was allocated with) and
* hence implements the following semantics for shrinking and growing buffers
- * with __GFP_ZERO.
+ * with __GFP_ZERO::
*
- * new bucket
- * 0 size size
- * |--------|----------------|
- * | keep | zero |
+ * new bucket
+ * 0 size size
+ * |--------|----------------|
+ * | keep | zero |
*
* Otherwise, the original allocation size 'orig_size' could be used to
* precisely clear the requested size, and the new size will also be stored
--
2.47.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 06/11] doc: Add slab internal kernel-doc
2025-06-11 15:59 [PATCH v2 00/11] Various slab improvements Matthew Wilcox (Oracle)
` (4 preceding siblings ...)
2025-06-11 15:59 ` [PATCH v2 05/11] slub: Fix a documentation build error for krealloc() Matthew Wilcox (Oracle)
@ 2025-06-11 15:59 ` Matthew Wilcox (Oracle)
2025-06-17 14:03 ` Vlastimil Babka
2025-06-11 15:59 ` [PATCH v2 07/11] vmcoreinfo: Remove documentation of PG_slab and PG_hugetlb Matthew Wilcox (Oracle)
` (5 subsequent siblings)
11 siblings, 1 reply; 17+ messages in thread
From: Matthew Wilcox (Oracle) @ 2025-06-11 15:59 UTC (permalink / raw)
To: Vlastimil Babka
Cc: Matthew Wilcox (Oracle), Christoph Lameter, David Rientjes,
Roman Gushchin, Harry Yoo, linux-mm
We don't have much real internal documentation to extract yet, but
let's make sure that what we do have is available.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Acked-by: Harry Yoo <harry.yoo@oracle.com>
---
Documentation/mm/slab.rst | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/Documentation/mm/slab.rst b/Documentation/mm/slab.rst
index 87d5a5bb172f..2bcc58ada302 100644
--- a/Documentation/mm/slab.rst
+++ b/Documentation/mm/slab.rst
@@ -3,3 +3,10 @@
===============
Slab Allocation
===============
+
+Functions and structures
+========================
+
+.. kernel-doc:: mm/slab.h
+.. kernel-doc:: mm/slub.c
+ :internal:
--
2.47.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 07/11] vmcoreinfo: Remove documentation of PG_slab and PG_hugetlb
2025-06-11 15:59 [PATCH v2 00/11] Various slab improvements Matthew Wilcox (Oracle)
` (5 preceding siblings ...)
2025-06-11 15:59 ` [PATCH v2 06/11] doc: Add slab internal kernel-doc Matthew Wilcox (Oracle)
@ 2025-06-11 15:59 ` Matthew Wilcox (Oracle)
2025-06-11 15:59 ` [PATCH v2 08/11] proc: Remove mention of PG_slab Matthew Wilcox (Oracle)
` (4 subsequent siblings)
11 siblings, 0 replies; 17+ messages in thread
From: Matthew Wilcox (Oracle) @ 2025-06-11 15:59 UTC (permalink / raw)
To: Vlastimil Babka
Cc: Matthew Wilcox (Oracle), Christoph Lameter, David Rientjes,
Roman Gushchin, Harry Yoo, linux-mm
The changes to kernel/vmcore_info.c were sadly not reflected in the
documentation. Rectify that for both these flags as well as adding
PAGE_UNACCEPTED_MAPCOUNT_VALUE.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Acked-by: Harry Yoo <harry.yoo@oracle.com>
---
Documentation/admin-guide/kdump/vmcoreinfo.rst | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/Documentation/admin-guide/kdump/vmcoreinfo.rst b/Documentation/admin-guide/kdump/vmcoreinfo.rst
index 8cf4614385b7..404a15f6782c 100644
--- a/Documentation/admin-guide/kdump/vmcoreinfo.rst
+++ b/Documentation/admin-guide/kdump/vmcoreinfo.rst
@@ -325,14 +325,14 @@ NR_FREE_PAGES
On linux-2.6.21 or later, the number of free pages is in
vm_stat[NR_FREE_PAGES]. Used to get the number of free pages.
-PG_lru|PG_private|PG_swapcache|PG_swapbacked|PG_slab|PG_hwpoision|PG_head_mask|PG_hugetlb
------------------------------------------------------------------------------------------
+PG_lru|PG_private|PG_swapcache|PG_swapbacked|PG_hwpoison|PG_head_mask
+--------------------------------------------------------------------------
Page attributes. These flags are used to filter various unnecessary for
dumping pages.
-PAGE_BUDDY_MAPCOUNT_VALUE(~PG_buddy)|PAGE_OFFLINE_MAPCOUNT_VALUE(~PG_offline)|PAGE_OFFLINE_MAPCOUNT_VALUE(~PG_unaccepted)
--------------------------------------------------------------------------------------------------------------------------
+PAGE_SLAB_MAPCOUNT_VALUE|PAGE_BUDDY_MAPCOUNT_VALUE|PAGE_OFFLINE_MAPCOUNT_VALUE|PAGE_HUGETLB_MAPCOUNT_VALUE|PAGE_UNACCEPTED_MAPCOUNT_VALUE
+------------------------------------------------------------------------------------------------------------------------------------------
More page attributes. These flags are used to filter various unnecessary for
dumping pages.
--
2.47.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 08/11] proc: Remove mention of PG_slab
2025-06-11 15:59 [PATCH v2 00/11] Various slab improvements Matthew Wilcox (Oracle)
` (6 preceding siblings ...)
2025-06-11 15:59 ` [PATCH v2 07/11] vmcoreinfo: Remove documentation of PG_slab and PG_hugetlb Matthew Wilcox (Oracle)
@ 2025-06-11 15:59 ` Matthew Wilcox (Oracle)
2025-06-11 15:59 ` [PATCH v2 09/11] kfence: " Matthew Wilcox (Oracle)
` (3 subsequent siblings)
11 siblings, 0 replies; 17+ messages in thread
From: Matthew Wilcox (Oracle) @ 2025-06-11 15:59 UTC (permalink / raw)
To: Vlastimil Babka
Cc: Matthew Wilcox (Oracle), Christoph Lameter, David Rientjes,
Roman Gushchin, Harry Yoo, linux-mm
Improve the documentation of buddy pages while I'm editing this comment.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
---
fs/proc/page.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/fs/proc/page.c b/fs/proc/page.c
index 999af26c7298..d7d0f0ca1e9b 100644
--- a/fs/proc/page.c
+++ b/fs/proc/page.c
@@ -183,10 +183,7 @@ u64 stable_page_flags(const struct page *page)
u |= 1 << KPF_ZERO_PAGE;
}
- /*
- * Caveats on high order pages: PG_buddy and PG_slab will only be set
- * on the head page.
- */
+ /* KPF_BUDDY is only set on the first buddy page */
if (PageBuddy(page))
u |= 1 << KPF_BUDDY;
else if (page_count(page) == 0 && is_free_buddy_page(page))
--
2.47.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 09/11] kfence: Remove mention of PG_slab
2025-06-11 15:59 [PATCH v2 00/11] Various slab improvements Matthew Wilcox (Oracle)
` (7 preceding siblings ...)
2025-06-11 15:59 ` [PATCH v2 08/11] proc: Remove mention of PG_slab Matthew Wilcox (Oracle)
@ 2025-06-11 15:59 ` Matthew Wilcox (Oracle)
2025-06-11 15:59 ` [PATCH v2 10/11] memcg_slabinfo: Fix use " Matthew Wilcox (Oracle)
` (2 subsequent siblings)
11 siblings, 0 replies; 17+ messages in thread
From: Matthew Wilcox (Oracle) @ 2025-06-11 15:59 UTC (permalink / raw)
To: Vlastimil Babka
Cc: Matthew Wilcox (Oracle), Christoph Lameter, David Rientjes,
Roman Gushchin, Harry Yoo, linux-mm
Improve the documentation slightly, assuming I understood it correctly.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Acked-by: Harry Yoo <harry.yoo@oracle.com>
---
mm/kfence/core.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mm/kfence/core.c b/mm/kfence/core.c
index 102048821c22..0ed3be100963 100644
--- a/mm/kfence/core.c
+++ b/mm/kfence/core.c
@@ -605,8 +605,8 @@ static unsigned long kfence_init_pool(void)
pages = virt_to_page(__kfence_pool);
/*
- * Set up object pages: they must have PG_slab set, to avoid freeing
- * these as real pages.
+ * Set up object pages: they must have PGTY_slab set to avoid freeing
+ * them as real pages.
*
* We also want to avoid inserting kfence_free() in the kfree()
* fast-path in SLUB, and therefore need to ensure kfree() correctly
--
2.47.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 10/11] memcg_slabinfo: Fix use of PG_slab
2025-06-11 15:59 [PATCH v2 00/11] Various slab improvements Matthew Wilcox (Oracle)
` (8 preceding siblings ...)
2025-06-11 15:59 ` [PATCH v2 09/11] kfence: " Matthew Wilcox (Oracle)
@ 2025-06-11 15:59 ` Matthew Wilcox (Oracle)
2025-06-11 15:59 ` [PATCH v2 11/11] slab: Update MAINTAINERS entry Matthew Wilcox (Oracle)
2025-06-23 12:28 ` [PATCH v2 00/11] Various slab improvements Vlastimil Babka
11 siblings, 0 replies; 17+ messages in thread
From: Matthew Wilcox (Oracle) @ 2025-06-11 15:59 UTC (permalink / raw)
To: Vlastimil Babka
Cc: Matthew Wilcox (Oracle), Christoph Lameter, David Rientjes,
Roman Gushchin, Harry Yoo, linux-mm
Check PGTY_slab instead of PG_slab.
Fixes: 4ffca5a96678 (mm: support only one page_type per page)
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Tested-by: Roman Gushchin <roman.gushchin@linux.dev>
Reviewed-by: Roman Gushchin <roman.gushchin@linux.dev>
Reviewed-by: Harry Yoo <harry.yoo@oracle.com>
---
tools/cgroup/memcg_slabinfo.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/cgroup/memcg_slabinfo.py b/tools/cgroup/memcg_slabinfo.py
index 270c28a0d098..6bf4bde77903 100644
--- a/tools/cgroup/memcg_slabinfo.py
+++ b/tools/cgroup/memcg_slabinfo.py
@@ -146,11 +146,11 @@ def detect_kernel_config():
def for_each_slab(prog):
- PGSlab = ~prog.constant('PG_slab')
+ slabtype = prog.constant('PGTY_slab')
for page in for_each_page(prog):
try:
- if page.page_type.value_() == PGSlab:
+ if (page.page_type.value_() >> 24) == slabtype:
yield cast('struct slab *', page)
except FaultError:
pass
--
2.47.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 11/11] slab: Update MAINTAINERS entry
2025-06-11 15:59 [PATCH v2 00/11] Various slab improvements Matthew Wilcox (Oracle)
` (9 preceding siblings ...)
2025-06-11 15:59 ` [PATCH v2 10/11] memcg_slabinfo: Fix use " Matthew Wilcox (Oracle)
@ 2025-06-11 15:59 ` Matthew Wilcox (Oracle)
2025-06-15 21:51 ` David Rientjes
2025-06-16 7:24 ` Harry Yoo
2025-06-23 12:28 ` [PATCH v2 00/11] Various slab improvements Vlastimil Babka
11 siblings, 2 replies; 17+ messages in thread
From: Matthew Wilcox (Oracle) @ 2025-06-11 15:59 UTC (permalink / raw)
To: Vlastimil Babka
Cc: Matthew Wilcox (Oracle), Christoph Lameter, David Rientjes,
Roman Gushchin, Harry Yoo, linux-mm
Add the two Documentation files to the maintainers entry. Simplify the
match for header files now that there is only slab.h. Move Vlastimil
to the top of the list of maintainers since he's the one doing the pull
requests. Change David & Christoph's roles to Reviewer. Expand the
pattern for files in mm/ so that somebody searching for 'slub' will
find it.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
---
MAINTAINERS | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/MAINTAINERS b/MAINTAINERS
index a7a147f31468..daea951f9d12 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -22831,17 +22831,21 @@ F: Documentation/devicetree/bindings/nvmem/layouts/kontron,sl28-vpd.yaml
F: drivers/nvmem/layouts/sl28vpd.c
SLAB ALLOCATOR
-M: Christoph Lameter <cl@gentwo.org>
-M: David Rientjes <rientjes@google.com>
-M: Andrew Morton <akpm@linux-foundation.org>
M: Vlastimil Babka <vbabka@suse.cz>
+M: Andrew Morton <akpm@linux-foundation.org>
+R: Christoph Lameter <cl@gentwo.org>
+R: David Rientjes <rientjes@google.com>
R: Roman Gushchin <roman.gushchin@linux.dev>
R: Harry Yoo <harry.yoo@oracle.com>
L: linux-mm@kvack.org
S: Maintained
T: git git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git
-F: include/linux/sl?b*.h
-F: mm/sl?b*
+F: Documentation/admin-guide/mm/slab.rst
+F: Documentation/mm/slab.rst
+F: include/linux/slab.h
+F: mm/slab.h
+F: mm/slab_common.c
+F: mm/slub.c
SLCAN CAN NETWORK DRIVER
M: Dario Binacchi <dario.binacchi@amarulasolutions.com>
--
2.47.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH v2 11/11] slab: Update MAINTAINERS entry
2025-06-11 15:59 ` [PATCH v2 11/11] slab: Update MAINTAINERS entry Matthew Wilcox (Oracle)
@ 2025-06-15 21:51 ` David Rientjes
2025-06-16 7:24 ` Harry Yoo
1 sibling, 0 replies; 17+ messages in thread
From: David Rientjes @ 2025-06-15 21:51 UTC (permalink / raw)
To: Matthew Wilcox (Oracle)
Cc: Vlastimil Babka, Christoph Lameter, Roman Gushchin, Harry Yoo,
linux-mm
On Wed, 11 Jun 2025, Matthew Wilcox (Oracle) wrote:
> Add the two Documentation files to the maintainers entry. Simplify the
> match for header files now that there is only slab.h. Move Vlastimil
> to the top of the list of maintainers since he's the one doing the pull
> requests. Change David & Christoph's roles to Reviewer. Expand the
> pattern for files in mm/ so that somebody searching for 'slub' will
> find it.
>
> Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Acked-by: David Rientjes <rientjes@google.com>
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 11/11] slab: Update MAINTAINERS entry
2025-06-11 15:59 ` [PATCH v2 11/11] slab: Update MAINTAINERS entry Matthew Wilcox (Oracle)
2025-06-15 21:51 ` David Rientjes
@ 2025-06-16 7:24 ` Harry Yoo
1 sibling, 0 replies; 17+ messages in thread
From: Harry Yoo @ 2025-06-16 7:24 UTC (permalink / raw)
To: Matthew Wilcox (Oracle)
Cc: Vlastimil Babka, Christoph Lameter, David Rientjes,
Roman Gushchin, linux-mm
On Wed, Jun 11, 2025 at 04:59:14PM +0100, Matthew Wilcox (Oracle) wrote:
> Add the two Documentation files to the maintainers entry. Simplify the
> match for header files now that there is only slab.h. Move Vlastimil
> to the top of the list of maintainers since he's the one doing the pull
> requests. Change David & Christoph's roles to Reviewer. Expand the
> pattern for files in mm/ so that somebody searching for 'slub' will
> find it.
>
> Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
> ---
I agree that this change accurately reflects the current state of things.
This in no way diminishes the respect I have for David and Christoph.
Still deeply appreciate their roles as reviewers, their extensive
contributions and deep understanding of the allocator remain incredibly
valuable.
Acked-by: Harry Yoo <harry.yoo@oracle.com>
--
Cheers,
Harry / Hyeonggon
> MAINTAINERS | 14 +++++++++-----
> 1 file changed, 9 insertions(+), 5 deletions(-)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index a7a147f31468..daea951f9d12 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -22831,17 +22831,21 @@ F: Documentation/devicetree/bindings/nvmem/layouts/kontron,sl28-vpd.yaml
> F: drivers/nvmem/layouts/sl28vpd.c
>
> SLAB ALLOCATOR
> -M: Christoph Lameter <cl@gentwo.org>
> -M: David Rientjes <rientjes@google.com>
> -M: Andrew Morton <akpm@linux-foundation.org>
> M: Vlastimil Babka <vbabka@suse.cz>
> +M: Andrew Morton <akpm@linux-foundation.org>
> +R: Christoph Lameter <cl@gentwo.org>
> +R: David Rientjes <rientjes@google.com>
> R: Roman Gushchin <roman.gushchin@linux.dev>
> R: Harry Yoo <harry.yoo@oracle.com>
> L: linux-mm@kvack.org
> S: Maintained
> T: git git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git
> -F: include/linux/sl?b*.h
> -F: mm/sl?b*
> +F: Documentation/admin-guide/mm/slab.rst
> +F: Documentation/mm/slab.rst
> +F: include/linux/slab.h
> +F: mm/slab.h
> +F: mm/slab_common.c
> +F: mm/slub.c
>
> SLCAN CAN NETWORK DRIVER
> M: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> --
> 2.47.2
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 06/11] doc: Add slab internal kernel-doc
2025-06-11 15:59 ` [PATCH v2 06/11] doc: Add slab internal kernel-doc Matthew Wilcox (Oracle)
@ 2025-06-17 14:03 ` Vlastimil Babka
2025-06-17 14:16 ` Matthew Wilcox
0 siblings, 1 reply; 17+ messages in thread
From: Vlastimil Babka @ 2025-06-17 14:03 UTC (permalink / raw)
To: Matthew Wilcox (Oracle)
Cc: Christoph Lameter, David Rientjes, Roman Gushchin, Harry Yoo,
linux-mm
On 6/11/25 17:59, Matthew Wilcox (Oracle) wrote:
> We don't have much real internal documentation to extract yet, but
> let's make sure that what we do have is available.
>
> Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
> Acked-by: Harry Yoo <harry.yoo@oracle.com>
> ---
> Documentation/mm/slab.rst | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/Documentation/mm/slab.rst b/Documentation/mm/slab.rst
> index 87d5a5bb172f..2bcc58ada302 100644
> --- a/Documentation/mm/slab.rst
> +++ b/Documentation/mm/slab.rst
> @@ -3,3 +3,10 @@
> ===============
> Slab Allocation
> ===============
> +
> +Functions and structures
> +========================
> +
> +.. kernel-doc:: mm/slab.h
> +.. kernel-doc:: mm/slub.c
mm/slab_common.c also has some kernel docs, should we add it too?
> + :internal:
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 06/11] doc: Add slab internal kernel-doc
2025-06-17 14:03 ` Vlastimil Babka
@ 2025-06-17 14:16 ` Matthew Wilcox
0 siblings, 0 replies; 17+ messages in thread
From: Matthew Wilcox @ 2025-06-17 14:16 UTC (permalink / raw)
To: Vlastimil Babka
Cc: Christoph Lameter, David Rientjes, Roman Gushchin, Harry Yoo,
linux-mm
On Tue, Jun 17, 2025 at 04:03:26PM +0200, Vlastimil Babka wrote:
> On 6/11/25 17:59, Matthew Wilcox (Oracle) wrote:
> > We don't have much real internal documentation to extract yet, but
> > let's make sure that what we do have is available.
> > +Functions and structures
> > +========================
> > +
> > +.. kernel-doc:: mm/slab.h
> > +.. kernel-doc:: mm/slub.c
>
> mm/slab_common.c also has some kernel docs, should we add it too?
>
> > + :internal:
We already pick up the stuff that's EXPORT_SYMBOL here:
.. kernel-doc:: mm/slab_common.c
:export:
(in core-api/mm-api.rst) and I didn't spot anything that's internal
documentation. We can add it later if we start documenting internal
functions.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 00/11] Various slab improvements
2025-06-11 15:59 [PATCH v2 00/11] Various slab improvements Matthew Wilcox (Oracle)
` (10 preceding siblings ...)
2025-06-11 15:59 ` [PATCH v2 11/11] slab: Update MAINTAINERS entry Matthew Wilcox (Oracle)
@ 2025-06-23 12:28 ` Vlastimil Babka
11 siblings, 0 replies; 17+ messages in thread
From: Vlastimil Babka @ 2025-06-23 12:28 UTC (permalink / raw)
To: Matthew Wilcox (Oracle)
Cc: Christoph Lameter, David Rientjes, Roman Gushchin, Harry Yoo,
linux-mm, Andrew Morton
On 6/11/25 17:59, Matthew Wilcox (Oracle) wrote:
> This started out as fixing up slab->__page_flags and then I started
> checking the documentation build and kept finding more and more problems.
> So this is now mostly documentation changes and getting rid of the last
> mentions of PG_slab.
>
> v2:
> - Reword opening paragraph of admin guide (Vlastimil)
> - Correct a couple of paths to point to the admin guide instead
> of the internals
> - Fix SL_locked to PG_locked
> - Move slab_flags from slab.h to slub.c
> - Fix subject of SL_partial patch
> - Move Christoph & David from M: to R:
> - Expand glob of F: mm/sl?b* (Vlastimil)
> - Added krealloc doc fix (Jon Corbet)
>
> Jonathan Corbet (1):
> slub: Fix a documentation build error for krealloc()
>
> Matthew Wilcox (Oracle) (10):
> doc: Move SLUB documentation to the admin guide
> slab: Rename slab->__page_flags to slab->flags
> slab: Add SL_partial flag
> slab: Add SL_pfmemalloc flag
> doc: Add slab internal kernel-doc
> vmcoreinfo: Remove documentation of PG_slab and PG_hugetlb
> proc: Remove mention of PG_slab
> kfence: Remove mention of PG_slab
> memcg_slabinfo: Fix use of PG_slab
> slab: Update MAINTAINERS entry
Thanks! Added to slab/for-next
> Documentation/ABI/testing/sysfs-kernel-slab | 5 +-
> .../admin-guide/kdump/vmcoreinfo.rst | 8 +--
> .../admin-guide/kernel-parameters.txt | 12 ++--
> Documentation/admin-guide/mm/index.rst | 1 +
> .../{mm/slub.rst => admin-guide/mm/slab.rst} | 19 +++--
> Documentation/mm/index.rst | 1 -
> Documentation/mm/slab.rst | 7 ++
> MAINTAINERS | 14 ++--
> fs/proc/page.c | 5 +-
> mm/kfence/core.c | 4 +-
> mm/slab.h | 28 +-------
> mm/slub.c | 71 +++++++++++++------
> tools/cgroup/memcg_slabinfo.py | 4 +-
> 13 files changed, 98 insertions(+), 81 deletions(-)
> rename Documentation/{mm/slub.rst => admin-guide/mm/slab.rst} (97%)
>
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2025-06-23 12:28 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-11 15:59 [PATCH v2 00/11] Various slab improvements Matthew Wilcox (Oracle)
2025-06-11 15:59 ` [PATCH v2 01/11] doc: Move SLUB documentation to the admin guide Matthew Wilcox (Oracle)
2025-06-11 15:59 ` [PATCH v2 02/11] slab: Rename slab->__page_flags to slab->flags Matthew Wilcox (Oracle)
2025-06-11 15:59 ` [PATCH v2 03/11] slab: Add SL_partial flag Matthew Wilcox (Oracle)
2025-06-11 15:59 ` [PATCH v2 04/11] slab: Add SL_pfmemalloc flag Matthew Wilcox (Oracle)
2025-06-11 15:59 ` [PATCH v2 05/11] slub: Fix a documentation build error for krealloc() Matthew Wilcox (Oracle)
2025-06-11 15:59 ` [PATCH v2 06/11] doc: Add slab internal kernel-doc Matthew Wilcox (Oracle)
2025-06-17 14:03 ` Vlastimil Babka
2025-06-17 14:16 ` Matthew Wilcox
2025-06-11 15:59 ` [PATCH v2 07/11] vmcoreinfo: Remove documentation of PG_slab and PG_hugetlb Matthew Wilcox (Oracle)
2025-06-11 15:59 ` [PATCH v2 08/11] proc: Remove mention of PG_slab Matthew Wilcox (Oracle)
2025-06-11 15:59 ` [PATCH v2 09/11] kfence: " Matthew Wilcox (Oracle)
2025-06-11 15:59 ` [PATCH v2 10/11] memcg_slabinfo: Fix use " Matthew Wilcox (Oracle)
2025-06-11 15:59 ` [PATCH v2 11/11] slab: Update MAINTAINERS entry Matthew Wilcox (Oracle)
2025-06-15 21:51 ` David Rientjes
2025-06-16 7:24 ` Harry Yoo
2025-06-23 12:28 ` [PATCH v2 00/11] Various slab improvements Vlastimil Babka
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).