summaryrefslogtreecommitdiff
path: root/mm/mm_init.c
diff options
context:
space:
mode:
authorPeng Zhang <zhangpeng.00@bytedance.com>2023-07-18 15:30:19 +0800
committerAndrew Morton <akpm@linux-foundation.org>2023-08-18 10:12:39 -0700
commitcabdf74e6b319c989eb8e812f1854291ae0af1c0 (patch)
tree46575c9410c293eb2c3bacec52621f00d8a1ce67 /mm/mm_init.c
parent8d3a7d797c1a18a24f602a7398103ee894c5bc3b (diff)
mm: kfence: allocate kfence_metadata at runtime
kfence_metadata is currently a static array. For the purpose of allocating scalable __kfence_pool, we first change it to runtime allocation of metadata. Since the size of an object of kfence_metadata is 1160 bytes, we can save at least 72 pages (with default 256 objects) without enabling kfence. [akpm@linux-foundation.org: restore newline, per Marco] Link: https://lkml.kernel.org/r/20230718073019.52513-1-zhangpeng.00@bytedance.com Signed-off-by: Peng Zhang <zhangpeng.00@bytedance.com> Reviewed-by: Marco Elver <elver@google.com> Cc: Alexander Potapenko <glider@google.com> Cc: Dmitry Vyukov <dvyukov@google.com> Cc: Muchun Song <muchun.song@linux.dev> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'mm/mm_init.c')
-rw-r--r--mm/mm_init.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/mm_init.c b/mm/mm_init.c
index 7e3fcdbe997b..acb0ac194672 100644
--- a/mm/mm_init.c
+++ b/mm/mm_init.c
@@ -2767,7 +2767,7 @@ void __init mm_core_init(void)
*/
page_ext_init_flatmem();
mem_debugging_and_hardening_init();
- kfence_alloc_pool();
+ kfence_alloc_pool_and_metadata();
report_meminit();
kmsan_init_shadow();
stack_depot_early_init();