* Wei Yang <richard.weiyang@xxxxxxxxx> [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@xxxxxxxxx> > CC: Liam R. Howlett <Liam.Howlett@xxxxxxxxxx> > CC: Sidhartha Kumar <sidhartha.kumar@xxxxxxxxxx> Reviewed-by: Liam R. Howlett <Liam.Howlett@xxxxxxxxxx> > --- > 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 >