Re: [PATCH] mm/khugepaged: fix collapse_pte_mapped_thp() to allow anon_vma

From: David Hildenbrand
Date: Mon Jan 23 2023 - 06:10:12 EST


On 18.01.23 00:00, Zach O'Keefe wrote:
On Mon, Jan 9, 2023 at 12:50 AM David Hildenbrand <david@xxxxxxxxxx> wrote:


Side note: set_huge_pmd() wins the award of "ugliest mm function of early
2023". I was briefly concerned how do_set_pmd() decides whether the PMD can be
writable or not. Turns out it's communicated via vm_fault->flags. Just
horrible.


Hey David,

Sorry for the late response here.

My first Linux award! :) At least it's not "worst mm security issue of
early 2023". I'll take it!

Good that you're not taking my words the wrong way.

MADV_COLLAPSE is a very useful feature (especially also for THP tests
[1]). I wish I could have looked at some of the patches earlier. But we
cannot wait forever to get something merged, otherwise we'd never get
bigger changes upstream.

... so there is plenty of time left in 2023 to cleanup khugepaged.c :P


[1] https://lkml.kernel.org/r/20230104144905.460075-1-david@xxxxxxxxxx

Yes, thank you for these tests. I have them open in another tab along
with a mental TODO to take a closer look at them, and response
half-written. In-place collapse of anonymous memory *is* something
that I was interested in exploring later (I have a use-case for it;
hugepage-aware malloc() implementations). I'm taking so long on it
(sorry) b/c I need to review your point (2) (all PTE's mapping
exclusively). Hopefully I can get to it shortly.

Cool, please let me know if you have any questions. Being able to in-place collapse a PTE-mapped anon THP again would be nice.

--
Thanks,

David / dhildenb