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? > 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