[RESEND PATCH 1/8] maple_tree: set the node limit when creating a new root node

Liam R. Howlett Liam.Howlett at Oracle.com
Fri Jul 7 08:18:19 PDT 2023


* Peng Zhang <zhangpeng.00 at bytedance.com> [230707 06:11]:
> Set the node limit of the root node so that the last pivot of all nodes
> is the node limit (if the node is not full).
> 
> Signed-off-by: Peng Zhang <zhangpeng.00 at bytedance.com>

This has been on my list of things to do for a while, thanks.

Reviewed-by: Liam R. Howlett <Liam.Howlett at oracle.com>

> ---
>  lib/maple_tree.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/maple_tree.c b/lib/maple_tree.c
> index d3072858c280..f55e59bd9122 100644
> --- a/lib/maple_tree.c
> +++ b/lib/maple_tree.c
> @@ -3692,7 +3692,8 @@ static inline int mas_root_expand(struct ma_state *mas, void *entry)
>  	mas->offset = slot;
>  	pivots[slot] = mas->last;
>  	if (mas->last != ULONG_MAX)
> -		slot++;
> +		pivots[++slot] = ULONG_MAX;
> +
>  	mas->depth = 1;
>  	mas_set_height(mas);
>  	ma_set_meta(node, maple_leaf_64, 0, slot);
> -- 
> 2.20.1
> 
> 



More information about the maple-tree mailing list