Re: [PATCH 1/3] mm/percpu: Remove some local variables in pcpu_populate_pte

Dennis Zhou
2023-07-27T23:08:16Z

Hello,

On Wed, Jul 12, 2023 at 11:16:20AM +0800, Bibo Mao wrote:
> In function pcpu_populate_pte there are already variable defined,
> it can be reused for later use, here remove duplicated local
> variables.
>
> Signed-off-by: Bibo Mao <maobibo@loongson.cn>
> ---
> mm/percpu.c | 24 +++++++++---------------
> 1 file changed, 9 insertions(+), 15 deletions(-)
>
> diff --git a/mm/percpu.c b/mm/percpu.c
> index 28e07ede46f6..85e3f9b2a61f 100644
> --- a/mm/percpu.c
> +++ b/mm/percpu.c
> @@ -3189,32 +3189,26 @@ void __init __weak pcpu_populate_pte(unsigned long addr)
> pmd_t *pmd;
>
> if (pgd_none(*pgd)) {
> - p4d_t *new;
> -
> - new = memblock_alloc(P4D_TABLE_SIZE, P4D_TABLE_SIZE);
> - if (!new)
> + p4d = memblock_alloc(P4D_TABLE_SIZE, P4D_TABLE_SIZE);
> + if (!p4d)
> goto err_alloc;
> - pgd_populate(&init_mm, pgd, new);
> + pgd_populate(&init_mm, pgd, p4d);
> }
>
> p4d = p4d_offset(pgd, addr);
> if (p4d_none(*p4d)) {
> - pud_t *new;
> -
> - new = memblock_alloc(PUD_TABLE_SIZE, PUD_TABLE_SIZE);
> - if (!new)
> + pud = memblock_alloc(PUD_TABLE_SIZE, PUD_TABLE_SIZE);
> + if (!pud)
> goto err_alloc;
> - p4d_populate(&init_mm, p4d, new);
> + p4d_populate(&init_mm, p4d, pud);
> }
>
> pud = pud_offset(p4d, addr);
> if (pud_none(*pud)) {
> - pmd_t *new;
> -
> - new = memblock_alloc(PMD_TABLE_SIZE, PMD_TABLE_SIZE);
> - if (!new)
> + pmd = memblock_alloc(PMD_TABLE_SIZE, PMD_TABLE_SIZE);
> + if (!pmd)
> goto err_alloc;
> - pud_populate(&init_mm, pud, new);
> + pud_populate(&init_mm, pud, pmd);
> }
>
> pmd = pmd_offset(pud, addr);
> --
> 2.27.0
>

I've pulled this, but the other 2 are part of loongarch and should be
reviewed and pulled by those maintainers.

Thanks,
Dennis