Re: [PATCH v1 0/9] s390: implement and optimize vmemmap_free()

Heiko Carstens
2020-07-10T13:58:40Z

On Wed, Jul 08, 2020 at 02:16:39PM +0200, David Hildenbrand wrote:
> >>> Hmm.. I really would like to see if there would be only a single page
> >>> table walker left in vmem.c, which handles both adding and removing
> >>> things.
> >>> Now we end up with two different page table walk implementations
> >>> within the same file. However not sure if it is worth the effort to
> >>> unify them though.
> >>
> >> I tried to unify vmemmap_populate() and vmem_add_range() already and
> >> didn't like the end result ... so, unifying these along with the removal
> >> part won't be any better - most probably. Open for suggestions :)
> >>
> >> (at least arm64 and x86-64 handle it similarly)
> >>
> >
> > I'll play with something like
> >
> > static void modify_pagetable(unsigned long start, unsigned long end,
> > bool direct, bool add)
> >
> > and see how it turns out.
> >
>
> Did a quick hack. With a single walker (modify_pagetable) I get
>
> arch/s390/mm/vmem.c | 628 ++++++++++++++++++++++++++++++--------------
> 1 file changed, 434 insertions(+), 194 deletions(-)
>
> Overall looks cleaner, only modify_pte_table() and modify_pmd_table()
> are a little more involved ...

Would you mind to resend the series with this integrated?