]> 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)
committerLiam R. Howlett <Liam.Howlett@oracle.com>
Tue, 21 Nov 2023 18:03:21 +0000 (13:03 -0500)
Just make sure the maple_node_cache has a percpu array of size 32.

Will break with CONFIG_SLAB.

lib/maple_tree.c

index 89f8d2160277408b9a41cf7ffc63b889e0c062f6..1fbfd4a7f01d590548dea42794e1fd4aedc5313e 100644 (file)
@@ -6233,9 +6233,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);
 }
 
 /**