On Wed, Feb 21, 2024 at 11:51 PM Lance Yang <ioworker0@xxxxxxxxx> wrote: > > Hey, > > On an Intel Core i5 CPU, the time taken by > khugepaged to scan the address space of > the process, which has been set with the > MMF_DISABLE_THP flag after being added > to the mm_slots list, is as follows (shorter is better): > > VMA Count | Old | New | Change > --------------------------------------- > 50 | 23us | 9us | -60.9% > 100 | 32us | 9us | -71.9% > 200 | 44us | 9us | -79.5% > 400 | 75us | 9us | -88.0% > 800 | 98us | 9us | -90.8% > > IIUC, once the count of VMAs for the process > exceeds page_to_scan, khugepaged needs to > wait for scan_sleep_millisecs ms before scanning > the next process. IMO, unnecessary scans could > actually be skipped with a very inexpensive > mm->flags check in this case. Thanks for following up on this, can you please capture all the information in the commit log? > > Best, > Lance > > On Wed, Jan 31, 2024 at 5:30 PM Lance Yang <ioworker0@xxxxxxxxx> wrote: > > > > Updating the change log. > [...] > > > On Mon, Jan 29, 2024 at 1:46 PM Lance Yang <ioworker0@xxxxxxxxx> wrote: > > > > > > khugepaged scans the entire address space in the > > > background for each given mm, looking for > > > opportunities to merge sequences of basic pages > > > into huge pages. However, when an mm is inserted > > > to the mm_slots list, and the MMF_DISABLE_THP flag > > > is set later, this scanning process becomes > > > unnecessary for that mm and can be skipped to avoid > > > redundant operations, especially in scenarios with > > > a large address space. > [...] > > > Signed-off-by: Lance Yang <ioworker0@xxxxxxxxx>