[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Wed, 7 Jul 2021 11:12:57 +0200
From: Michal Hocko <mhocko@...e.com>
To: Ohhoon Kwon <ohoono.kwon@...sung.com>
Cc: david@...hat.com, akpm@...ux-foundation.org, bhe@...hat.com,
rppt@...ux.ibm.com, ohkwon1043@...il.com, linux-mm@...ck.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 1/3] mm: sparse: pass section_nr to
section_mark_present
On Mon 05-07-21 17:55:36, Ohhoon Kwon wrote:
> With CONFIG_SPARSEMEM_EXTREME enabled, __section_nr() which converts
> mem_section to section_nr could be costly since it iterates all
> section roots to check if the given mem_section is in its range.
>
> On the other hand, __nr_to_section() which converts section_nr to
> mem_section can be done in O(1).
>
> Let's pass section_nr instead of mem_section ptr to
> section_mark_present() in order to reduce needless iterations.
>
> Signed-off-by: Ohhoon Kwon <ohoono.kwon@...sung.com>
> Acked-by: Michal Hocko <mhocko@...e.com>
> Acked-by: Mike Rapoport <rppt@...ux.ibm.com>
> Reviewed-by: David Hildenbrand <david@...hat.com>
> ---
> mm/sparse.c | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/mm/sparse.c b/mm/sparse.c
> index 6326cdf36c4f..b4fae2fc6276 100644
> --- a/mm/sparse.c
> +++ b/mm/sparse.c
> @@ -187,13 +187,14 @@ void __meminit mminit_validate_memmodel_limits(unsigned long *start_pfn,
> * those loops early.
> */
> unsigned long __highest_present_section_nr;
> -static void section_mark_present(struct mem_section *ms)
> +static void section_mark_present(unsigned long section_nr)
> {
> - unsigned long section_nr = __section_nr(ms);
> + struct mem_section *ms;
>
> if (section_nr > __highest_present_section_nr)
> __highest_present_section_nr = section_nr;
>
> + ms = __nr_to_section(section_nr);
> ms->section_mem_map |= SECTION_MARKED_PRESENT;
Can you add the ms parameter here so that we get rid of the pointless
__nr_to_section as suggested in the previous review feedback?
--
Michal Hocko
SUSE Labs
Powered by blists - more mailing lists