Re: [RESEND PATCH] base/memory: pass the base_section in add_memory_block

From: Michal Hocko
Date: Wed Jun 14 2017 - 01:59:44 EST


On Wed 14-06-17 13:45:50, Wei Yang wrote:
> Based on Greg's comment, cc it to mm list.
> The original thread could be found https://lkml.org/lkml/2017/6/7/202

I have already given you feedback
http://lkml.kernel.org/r/20170613114842.GI10819@xxxxxxxxxxxxxx
and you seemed to ignore it completely.

> The second parameter of init_memory_block() is used to calculate the
> start_section_nr of this block, which means any section in the same block
> would get the same start_section_nr.
>
> This patch passes the base_section to init_memory_block(), so that to
> reduce a local variable and a check in every loop.
>
> Signed-off-by: Wei Yang <richard.weiyang@xxxxxxxxx>
> ---
> drivers/base/memory.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/base/memory.c b/drivers/base/memory.c
> index cc4f1d0cbffe..1e903aba2aa1 100644
> --- a/drivers/base/memory.c
> +++ b/drivers/base/memory.c
> @@ -664,21 +664,20 @@ static int init_memory_block(struct memory_block **memory,
> static int add_memory_block(int base_section_nr)
> {
> struct memory_block *mem;
> - int i, ret, section_count = 0, section_nr;
> + int i, ret, section_count = 0;
>
> for (i = base_section_nr;
> (i < base_section_nr + sections_per_block) && i < NR_MEM_SECTIONS;
> i++) {
> if (!present_section_nr(i))
> continue;
> - if (section_count == 0)
> - section_nr = i;
> section_count++;
> }
>
> if (section_count == 0)
> return 0;
> - ret = init_memory_block(&mem, __nr_to_section(section_nr), MEM_ONLINE);
> + ret = init_memory_block(&mem, __nr_to_section(base_section_nr),
> + MEM_ONLINE);
> if (ret)
> return ret;
> mem->section_count = section_count;
> --
> 2.11.0

--
Michal Hocko
SUSE Labs