On Thu, Apr 25, 2024 at 5:25 PM David Hildenbrand <david@xxxxxxxxxx> wrote: > > >> I was wondering if we can better integrate that into the pagewalk below. > >> > >> That is, don't do the TTU_SPLIT_HUGE_PMD immediately. Start the pagewalk > >> first. If we walk a PMD, try to unmap it. Only if that fails, split it. > > > > Nice. Thanks for the suggestion! > > I'll work on integrating it into the pagewalk as you suggested. > > > >> > >> Less working on "vma + address" and instead directly on PMDs. > > > > Yes, some of the work on "vma + address" can be avoided :) > > Doing the conditional split while in the pagewalk will be the > interesting bit to sort out (we temporarily have to drop the PTL and > start once again from that now-PTE-mapped page table). But it should be > a reasonable thing to have. Yep, it's an interesting challenge for me, but definitely worth tackling ;) > > Please let us know if you run into bigger issues with that! Thanks, I'll do my best to sort it out and reach out for help if needed :p > > See walk_pmd_range() as an inspiration where we call split_huge_pmd(). Thanks for your suggestion! I'll take a closer look at it. Thanks again for clarifying! Lance > > -- > Cheers, > > David / dhildenb >