Message ID | 20190809010242.29797-1-richardw.yang@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | mm/sparse: use __nr_to_section(section_nr) to get mem_section | expand |
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@linux.intel.com> Looks right. With this applied, memory hot add still works on arm64. Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com> > --- > 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); > >
On Fri, Aug 09, 2019 at 02:39:59PM +0530, Anshuman Khandual wrote: > > >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@linux.intel.com> > >Looks right. > >With this applied, memory hot add still works on arm64. Thanks for your test. > >Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com> > >> --- >> 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); >> >>
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);
__pfn_to_section is defined as __nr_to_section(pfn_to_section_nr(pfn)). 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@linux.intel.com> --- mm/sparse.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)