Re: [kvm-unit-tests PATCH v2 4/4] arm: Remove redeundant page zeroing

Alexandru Elisei
2019-05-09T08:59:43Z

On 5/3/19 11:32 AM, nadav.amit@gmail.com wrote:
> From: Nadav Amit <nadav.amit@gmail.com>

Documentation/process/submitting-patches.rst says that the "From" tag is only
needed if you're submitting the patches on behalf of someone else (line 632).

>
> Now that alloc_page() zeros the page, remove the redundant page zeroing.
>
> Suggested-by: Andrew Jones <drjones@redhat.com>
> Signed-off-by: Nadav Amit <nadav.amit@gmail.com>
> ---
> lib/arm/asm/pgtable.h | 2 --
> lib/arm/mmu.c | 1 -
> lib/arm64/asm/pgtable.h | 1 -
> 3 files changed, 4 deletions(-)
>
> diff --git a/lib/arm/asm/pgtable.h b/lib/arm/asm/pgtable.h
> index b614bce..241dff6 100644
> --- a/lib/arm/asm/pgtable.h
> +++ b/lib/arm/asm/pgtable.h
> @@ -53,7 +53,6 @@ static inline pmd_t *pmd_alloc_one(void)
> {
> assert(PTRS_PER_PMD * sizeof(pmd_t) == PAGE_SIZE);
> pmd_t *pmd = alloc_page();
> - memset(pmd, 0, PTRS_PER_PMD * sizeof(pmd_t));
> return pmd;
> }
> static inline pmd_t *pmd_alloc(pgd_t *pgd, unsigned long addr)
> @@ -80,7 +79,6 @@ static inline pte_t *pte_alloc_one(void)
> {
> assert(PTRS_PER_PTE * sizeof(pte_t) == PAGE_SIZE);
> pte_t *pte = alloc_page();
> - memset(pte, 0, PTRS_PER_PTE * sizeof(pte_t));
> return pte;
> }
> static inline pte_t *pte_alloc(pmd_t *pmd, unsigned long addr)
> diff --git a/lib/arm/mmu.c b/lib/arm/mmu.c
> index 03f6622..3d38c83 100644
> --- a/lib/arm/mmu.c
> +++ b/lib/arm/mmu.c
> @@ -166,7 +166,6 @@ void *setup_mmu(phys_addr_t phys_end)
> #endif
>
> mmu_idmap = alloc_page();
> - memset(mmu_idmap, 0, PAGE_SIZE);
>
> /*
> * mach-virt I/O regions:
> diff --git a/lib/arm64/asm/pgtable.h b/lib/arm64/asm/pgtable.h
> index 5860abe..ee0a2c8 100644
> --- a/lib/arm64/asm/pgtable.h
> +++ b/lib/arm64/asm/pgtable.h
> @@ -61,7 +61,6 @@ static inline pte_t *pte_alloc_one(void)
> {
> assert(PTRS_PER_PTE * sizeof(pte_t) == PAGE_SIZE);
> pte_t *pte = alloc_page();
> - memset(pte, 0, PTRS_PER_PTE * sizeof(pte_t));
> return pte;
> }
> static inline pte_t *pte_alloc(pmd_t *pmd, unsigned long addr)
In the subject line: s/redeundant/redundant (this also applies to patches 2 and 3).

The patch looks reasonable, it removes the calls to memset only when we're
certain that the address came from alloc_page. So with the above minor changes:

Reviewed-by: Alexandru Elisei <alexandru.elisei@arm.com>