mm/sparse: use __nr_to_section(section_nr) to get mem_section
diff mbox series

Message ID 20190809010242.29797-1-richardw.yang@linux.intel.com
State New
Headers show
Series
  • mm/sparse: use __nr_to_section(section_nr) to get mem_section
Related show

Commit Message

Wei Yang Aug. 9, 2019, 1:02 a.m. UTC
__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(-)

Comments

Anshuman Khandual Aug. 9, 2019, 9:09 a.m. UTC | #1
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);
>  
>
Wei Yang Aug. 9, 2019, 1:46 p.m. UTC | #2
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);
>>  
>>

Patch
diff mbox series

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