[PATCH v6 08/10] mm, vma: use percpu sheaves for vm_area_struct cache

Lorenzo Stoakes lorenzo.stoakes at oracle.com
Tue Sep 2 04:13:41 PDT 2025


On Wed, Aug 27, 2025 at 10:26:40AM +0200, Vlastimil Babka wrote:
> Create the vm_area_struct cache with percpu sheaves of size 32 to
> improve its performance.
>
> Reviewed-by: Suren Baghdasaryan <surenb at google.com>
> Signed-off-by: Vlastimil Babka <vbabka at suse.cz>
> ---
>  mm/vma_init.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/mm/vma_init.c b/mm/vma_init.c
> index 8e53c7943561e7324e7992946b4065dec1149b82..52c6b55fac4519e0da39ca75ad018e14449d1d95 100644
> --- a/mm/vma_init.c
> +++ b/mm/vma_init.c
> @@ -16,6 +16,7 @@ void __init vma_state_init(void)
>  	struct kmem_cache_args args = {
>  		.use_freeptr_offset = true,
>  		.freeptr_offset = offsetof(struct vm_area_struct, vm_freeptr),
> +		.sheaf_capacity = 32,

This breaks the VMA tests.

Please also update tools/testing/vma/vma_internal.h to add this field
(probably actually at the commit that adds the field in mainline :P)

I do wish we could have these tests be run by a bot :/ seems today I am
that bot :)

>  	};
>
>  	vm_area_cachep = kmem_cache_create("vm_area_struct",
>
> --
> 2.51.0
>
>
>



More information about the maple-tree mailing list