Re: [PATCH v2 08/10] mm/hugetlb: Make walk_hugetlb_range() safe to pmd unshare

From: David Hildenbrand
Date: Fri Dec 09 2022 - 10:19:19 EST


On 09.12.22 15:39, Peter Xu wrote:
On Fri, Dec 09, 2022 at 11:24:55AM +0100, David Hildenbrand wrote:
For such cases, it would be good to have any evidence that it really helps.

I don't know much on the s390 path, but if a process has a large hugetlb
vma, even MADV_DONTNEED will be blocked for whatever long time if there's
another process or thread scanning pagemap for this vma.

Would this justify a bit?

I get your point. But that raises the question if we should voluntarily drop the VMA lock already in the caller every now and then on such large VMAs and maybe move even the cond_resched() into the common page walker, if you get what I mean?

On a preemtible kernel you could reschedule just before you drop the lock and call cond_resched() ... hmm

No strong opinion here, it just looked a bit weird to optimize for a cond_resched() if we might just reschedule either way even without the cond_resched().

--
Thanks,

David / dhildenb