linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Wei Yang <richard.weiyang@gmail.com>
To: Liam.Howlett@oracle.com, akpm@linux-foundation.org
Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org,
	Wei Yang <richard.weiyang@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Sidhartha Kumar <sidhartha.kumar@oracle.com>
Subject: [PATCH 3/4] maple_tree: simplify mas_push_node()
Date: Tue, 24 Sep 2024 12:39:53 +0000	[thread overview]
Message-ID: <20240924123954.18933-4-richard.weiyang@gmail.com> (raw)
In-Reply-To: <20240924123954.18933-1-richard.weiyang@gmail.com>

When count is not 0, we know head is valid. So we can put the assignment
in if(count) instead of check head again.

Also count represents current total, we can assign the new total by
increasing count at last.

Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
CC: Liam R. Howlett <Liam.Howlett@Oracle.com>
CC: Sidhartha Kumar <sidhartha.kumar@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



  parent reply	other threads:[~2024-09-24 12:41 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-24 12:39 [PATCH 0/4] cleanup maple_alloc related functions Wei Yang
2024-09-24 12:39 ` [PATCH 1/4] maple_tree: clear request_count for new allocated one Wei Yang
2024-10-15  1:18   ` Liam R. Howlett
2024-09-24 12:39 ` [PATCH 2/4] maple_tree: total is not changed for nomem_one case Wei Yang
2024-10-15  1:20   ` Liam R. Howlett
2024-09-24 12:39 ` Wei Yang [this message]
2024-10-15  1:29   ` [PATCH 3/4] maple_tree: simplify mas_push_node() Liam R. Howlett
2024-09-24 12:39 ` [PATCH 4/4] maple_tree: fix potential allocation failure even has memory Wei Yang
2024-10-11  1:27   ` Wei Yang
2024-10-15  1:14     ` Liam R. Howlett
2024-10-15  1:29     ` Liam R. Howlett
2024-09-24 15:03 ` [PATCH 0/4] cleanup maple_alloc related functions Lorenzo Stoakes
2024-09-25  1:03   ` Wei Yang
2024-09-25  7:41     ` Lorenzo Stoakes

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240924123954.18933-4-richard.weiyang@gmail.com \
    --to=richard.weiyang@gmail.com \
    --cc=Liam.Howlett@oracle.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-mm@kvack.org \
    --cc=maple-tree@lists.infradead.org \
    --cc=sidhartha.kumar@oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox