* [PATCH v2] mm/slub: create kmalloc 96 and 192 caches regardless cache size order
@ 2024-04-22 13:56 Hyunmin Lee
0 siblings, 0 replies; only message in thread
From: Hyunmin Lee @ 2024-04-22 13:56 UTC (permalink / raw)
To: linux-mm
Cc: Christoph Lameter, Pekka Enberg, David Rientjes, Joonsoo Kim,
Andrew Morton, Vlastimil Babka, Roman Gushchin, Hyeonggon Yoo,
Jeungwoo Yoo, Sangyun Kim, Gwan-gyeong Mun
For SLAB the kmalloc caches needed to be created in ascending sizes in
order. However, the constraint is not necessary anymore because SLAB has
been removed and SLUB doesn't need to comply with the constraint. Thus,
kmalloc 96 and 192 caches can be created after the other size kmalloc
caches are created instead of checking every time to find their order to
be created. Also, this change could prevent engineers from being confused
by the removed constraint.
Signed-off-by: Hyunmin Lee <hyunminlr@gmail.com>
Co-developed-by: Jeungwoo Yoo <casionwoo@gmail.com>
Signed-off-by: Jeungwoo Yoo <casionwoo@gmail.com>
Co-developed-by: Sangyun Kim <sangyun.kim@snu.ac.kr>
Signed-off-by: Sangyun Kim <sangyun.kim@snu.ac.kr>
Cc: Hyeonggon Yoo <42.hyeyoo@gmail.com>
Cc: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
---
David Rientjes suggested moving the check for NULL kmalloc_caches to
new_kmalloc_cache(). It looks like a good idea. So there will be another
patch for it.
mm/slab_common.c | 18 ++++++------------
1 file changed, 6 insertions(+), 12 deletions(-)
diff --git a/mm/slab_common.c b/mm/slab_common.c
index 3179a6aeffc5..1c2aee01a799 100644
--- a/mm/slab_common.c
+++ b/mm/slab_common.c
@@ -919,19 +919,13 @@ void __init create_kmalloc_caches(void)
for (i = KMALLOC_SHIFT_LOW; i <= KMALLOC_SHIFT_HIGH; i++) {
if (!kmalloc_caches[type][i])
new_kmalloc_cache(i, type);
-
- /*
- * Caches that are not of the two-to-the-power-of size.
- * These have to be created immediately after the
- * earlier power of two caches
- */
- if (KMALLOC_MIN_SIZE <= 32 && i == 6 &&
- !kmalloc_caches[type][1])
- new_kmalloc_cache(1, type);
- if (KMALLOC_MIN_SIZE <= 64 && i == 7 &&
- !kmalloc_caches[type][2])
- new_kmalloc_cache(2, type);
}
+
+ /* Caches that are not of the two-to-the-power-of size. */
+ if (KMALLOC_MIN_SIZE <= 32 && !kmalloc_caches[type][1])
+ new_kmalloc_cache(1, type);
+ if (KMALLOC_MIN_SIZE <= 64 && !kmalloc_caches[type][2])
+ new_kmalloc_cache(2, type);
}
#ifdef CONFIG_RANDOM_KMALLOC_CACHES
random_kmalloc_seed = get_random_u64();
--
2.34.1
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-04-22 13:56 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-22 13:56 [PATCH v2] mm/slub: create kmalloc 96 and 192 caches regardless cache size order Hyunmin Lee
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox