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

From: Pasha Tatashin
Date: Thu Sep 30 2021 - 00:13:26 EST


On Wed, Sep 29, 2021 at 12:43 PM Catalin Marinas
<catalin.marinas@xxxxxxx> wrote:
>
> 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.

This is exactly right. This function was meant for the contiguous-va
relocation version of this series.

Pasha