]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
maple_tree: use slub percpu array
authorVlastimil Babka <vbabka@suse.cz>
Mon, 7 Aug 2023 18:52:02 +0000 (20:52 +0200)
committerVlastimil Babka <vbabka@suse.cz>
Thu, 25 Jan 2024 09:56:40 +0000 (10:56 +0100)
Just make sure the maple_node_cache has a percpu array of size 32.

Will break with CONFIG_SLAB.

lib/maple_tree.c

index 6f241bb38799201defb1b31154920dcc257b9831..5af03417a8c1a07be65a81f5cc2907f309b91bce 100644 (file)
@@ -6254,9 +6254,16 @@ bool mas_nomem(struct ma_state *mas, gfp_t gfp)
 
 void __init maple_tree_init(void)
 {
+       int ret;
+
        maple_node_cache = kmem_cache_create("maple_node",
                        sizeof(struct maple_node), sizeof(struct maple_node),
-                       SLAB_PANIC, NULL);
+                       SLAB_PANIC | SLAB_NO_MERGE, NULL);
+
+       ret = kmem_cache_setup_percpu_array(maple_node_cache, 32);
+
+       if (ret)
+               pr_warn("error %d creating percpu_array for maple_node_cache\n", ret);
 }
 
 /**