Thread (23 messages) 23 messages, 4 authors, 2018-09-11

Re: [PATCH 1/3] mm/sparse: add likely to mem_section[root] check in sparse_index_init()

From: Wei Yang <hidden>
Date: 2018-08-23 22:57:45

On Thu, Aug 23, 2018 at 03:13:39PM +0200, Michal Hocko wrote:
On Thu 23-08-18 21:07:30, Wei Yang wrote:
quoted
Each time SECTIONS_PER_ROOT number of mem_section is allocated when
mem_section[root] is null. This means only (1 / SECTIONS_PER_ROOT) chance
of the mem_section[root] check is false.

This patch adds likely to the if check to optimize this a little.
Could you evaluate how much does this help if any? Does this have any
impact on the initialization path at all?
Let me test on my 4G machine with this patch :-)
quoted
Signed-off-by: Wei Yang <redacted>
---
 mm/sparse.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/sparse.c b/mm/sparse.c
index 10b07eea9a6e..90bab7f03757 100644
--- a/mm/sparse.c
+++ b/mm/sparse.c
@@ -78,7 +78,7 @@ static int __meminit sparse_index_init(unsigned long section_nr, int nid)
 	unsigned long root = SECTION_NR_TO_ROOT(section_nr);
 	struct mem_section *section;
 
-	if (mem_section[root])
+	if (likely(mem_section[root]))
 		return -EEXIST;
 
 	section = sparse_index_alloc(nid);
-- 
2.15.1
-- 
Michal Hocko
SUSE Labs
-- 
Wei Yang
Help you, Help me
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help