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

From: David Hildenbrand
Date: Fri Jul 10 2020 - 10:02:42 EST


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