Re: [PATCH v17 15/15] arm64: trans_pgd: remove trans_pgd_map_page()

From: Catalin Marinas
Date: Wed Sep 29 2021 - 12:43:43 EST


On Thu, Sep 16, 2021 at 07:13:25PM -0400, Pasha Tatashin wrote:
> The intend of trans_pgd_map_page() was to map contiguous range of VA
> memory to the memory that is getting relocated during kexec. However,
> since we are now using linear map instead of contiguous range this
> function is not needed
>
> Suggested-by: Pingfan Liu <kernelfans@xxxxxxxxx>
> Signed-off-by: Pasha Tatashin <pasha.tatashin@xxxxxxxxxx>
> ---
> arch/arm64/include/asm/trans_pgd.h | 5 +--
> arch/arm64/mm/trans_pgd.c | 57 ------------------------------
> 2 files changed, 1 insertion(+), 61 deletions(-)
>
> diff --git a/arch/arm64/include/asm/trans_pgd.h b/arch/arm64/include/asm/trans_pgd.h
> index 7b04d32b102c..033d400a4ea4 100644
> --- a/arch/arm64/include/asm/trans_pgd.h
> +++ b/arch/arm64/include/asm/trans_pgd.h
> @@ -15,7 +15,7 @@
> /*
> * trans_alloc_page
> * - Allocator that should return exactly one zeroed page, if this
> - * allocator fails, trans_pgd_create_copy() and trans_pgd_map_page()
> + * allocator fails, trans_pgd_create_copy() and trans_pgd_idmap_page()
> * return -ENOMEM error.
> *
> * trans_alloc_arg
> @@ -30,9 +30,6 @@ struct trans_pgd_info {
> int trans_pgd_create_copy(struct trans_pgd_info *info, pgd_t **trans_pgd,
> unsigned long start, unsigned long end);
>
> -int trans_pgd_map_page(struct trans_pgd_info *info, pgd_t *trans_pgd,
> - void *page, unsigned long dst_addr, pgprot_t pgprot);

So this function never got used in mainline after commit 7018d467ff2d
("arm64: trans_pgd: hibernate: idmap the single page that holds the copy
page routines"). I guess it's because we merged part of v10 of this
series and in v12 you dropped the contiguous VA range in favour of a
copy of the linear map.

--
Catalin