On Thu, Aug 23, 2018 at 03:13:39PM +0200, Michal Hocko wrote: >On Thu 23-08-18 21:07:30, Wei Yang wrote: >> 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 :-) > >> Signed-off-by: Wei Yang <richard.weiyang@xxxxxxxxx> >> --- >> 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