Re: [PATCH] mm/sparse: use __nr_to_section(section_nr) to get mem_section

From: Anshuman Khandual
Date: Fri Aug 09 2019 - 05:10:09 EST




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);
>
>