2023-07-12 03:33:04

by maobibo

[permalink] [raw]
Subject: [PATCH 1/3] mm/percpu: Remove some local variables in pcpu_populate_pte

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 <[email protected]>
---
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



2023-07-27 23:49:44

by Dennis Zhou

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

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 <[email protected]>
> ---
> 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

2023-07-28 02:41:36

by maobibo

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



在 2023/7/28 07:08, Dennis Zhou 写道:
> 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 <[email protected]>
>> ---
>> 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.
Dennis,

Thanks for your feedback.

Huacai,

Could you give some review comments about the remaining 2 patches?

Regards
Bibo Mao

>
> Thanks,
> Dennis