On 6/1/26 14:01, Nico Pache wrote: > On Sun, May 31, 2026 at 2:48 AM Lance Yang <[email protected]> wrote: >> >> >> >> On 2026/5/31 15:18, Lance Yang wrote: >>> >>> [...] >>> >>> Hmm ... don't we lose the allocation-failure result here? >>> >>> Previously collapse_scan_pmd() propagated SCAN_ALLOC_HUGE_PAGE_FAIL from >>> collapse_huge_page(), so khugepaged would call khugepaged_alloc_sleep() >>> in khugepaged_do_scan(). >>> >>> Now if allocation fails and nr_collapsed stays 0, we just return >>> SCAN_FAIL. So we won't back off via khugepaged_alloc_sleep() anymore? >> >> Looks like this is a more general issue with mthp_collapse() only >> returning nr_collapsed. >> >> For example, SCAN_PMD_MAPPED used to be propagated too, and >> madvise_collapse() treats that as success. With the new code, if >> nothing was collapsed by this call, that can also become SCAN_FAIL ... >> >> So I think we should keep both. > > Yeah I thought about this before, but more regarding the "incorrect" > propagation of errors; I didn't consider that those results were > actually being considered. > > I actually had a patch to track the last_failure (with some > prioritization on certain results). I think that would solve this > issue. > > Thanks for reminding me to improve this. > > Depending on how the rest of the reviews go, I can either send up a > follow up series to do some more cleanups and improvements of the > current approach or we can send out a v19.
Let's do a v19. Patch #11 might need a bit of work, we can discuss offline if you want. If we could get a v19 by the end of the week, that would be nice. -- Cheers, David
