On 08/09/2019 06:32 AM, Wei Yang wrote: > __pfn_to_section is defined as __nr_to_section(pfn_to_section_nr(pfn)). Right. > > Since we already get section_nr, it is not necessary to get mem_section > from start_pfn. By doing so, we reduce one redundant operation. > > Signed-off-by: Wei Yang <richardw.yang@xxxxxxxxxxxxxxx> Looks right. With this applied, memory hot add still works on arm64. Reviewed-by: Anshuman Khandual <anshuman.khandual@xxxxxxx> > --- > mm/sparse.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/sparse.c b/mm/sparse.c > index 72f010d9bff5..95158a148cd1 100644 > --- a/mm/sparse.c > +++ b/mm/sparse.c > @@ -867,7 +867,7 @@ int __meminit sparse_add_section(int nid, unsigned long start_pfn, > */ > page_init_poison(pfn_to_page(start_pfn), sizeof(struct page) * nr_pages); > > - ms = __pfn_to_section(start_pfn); > + ms = __nr_to_section(section_nr); > set_section_nid(section_nr, nid); > section_mark_present(ms); > >