On 10.07.20 15:57, Heiko Carstens wrote: > 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? > Yes, did some testing yesterday. Want to reshuffle/cleanup some things before posting. Will be out of office next week, so expect a v2 some-when in 1-2 weeks. Cheers! -- Thanks, David / dhildenb