[PATCH 3/4] maple_tree: simplify mas_push_node()
Liam R. Howlett
Liam.Howlett at oracle.com
Mon Oct 14 18:29:04 PDT 2024
* Wei Yang <richard.weiyang at gmail.com> [240924 08:41]:
> When count is not 0, we know head is valid. So we can put the assignment
> in if(count) in stead of check head again.
" in if (count) instead of checking the head pointer again."
>
> Also count represents current total, we can assign the new total by
> increasing count at last.
" increasing the count by one."
This message isn't clear, but the rest is good. Thanks!
>
> Signed-off-by: Wei Yang <richard.weiyang at gmail.com>
> CC: Liam R. Howlett <Liam.Howlett at Oracle.com>
> CC: Sidhartha Kumar <sidhartha.kumar at oracle.com>
Reviewed-by: Liam R. Howlett <Liam.Howlett at Oracle.com>
> ---
> lib/maple_tree.c | 16 +++++++---------
> 1 file changed, 7 insertions(+), 9 deletions(-)
>
> diff --git a/lib/maple_tree.c b/lib/maple_tree.c
> index c1fb67540cc9..1cbc5f7ca40d 100644
> --- a/lib/maple_tree.c
> +++ b/lib/maple_tree.c
> @@ -1192,19 +1192,17 @@ static inline void mas_push_node(struct ma_state *mas, struct maple_node *used)
>
> reuse->request_count = 0;
> reuse->node_count = 0;
> - if (count && (head->node_count < MAPLE_ALLOC_SLOTS)) {
> - head->slot[head->node_count++] = reuse;
> - head->total++;
> - goto done;
> - }
> -
> - reuse->total = 1;
> - if ((head) && !((unsigned long)head & 0x1)) {
> + if (count) {
> + if (head->node_count < MAPLE_ALLOC_SLOTS) {
> + head->slot[head->node_count++] = reuse;
> + head->total++;
> + goto done;
> + }
> reuse->slot[0] = head;
> reuse->node_count = 1;
> - reuse->total += head->total;
> }
>
> + reuse->total = count + 1;
> mas->alloc = reuse;
> done:
> if (requested > 1)
> --
> 2.34.1
>
More information about the maple-tree
mailing list