On Fri, Sep 12, 2025 at 03:20:38PM +0800, Yafang Shao wrote: > On Thu, Sep 11, 2025 at 10:56 PM Lorenzo Stoakes > <lorenzo.stoakes@xxxxxxxxxx> wrote: > > > > On Wed, Sep 10, 2025 at 10:44:40AM +0800, Yafang Shao wrote: > > > The new BPF capability enables finer-grained THP policy decisions by > > > introducing separate handling for swap faults versus normal page faults. > > > > > > As highlighted by Barry: > > > > > > We’ve observed that swapping in large folios can lead to more > > > swap thrashing for some workloads- e.g. kernel build. Consequently, > > > some workloads might prefer swapping in smaller folios than those > > > allocated by alloc_anon_folio(). > > > > > > While prtcl() could potentially be extended to leverage this new policy, > > > doing so would require modifications to the uAPI. > > > > > > Signed-off-by: Yafang Shao <laoar.shao@xxxxxxxxx> > > > > Other than nits, these seems fine, so: > > > > Reviewed-by: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx> > > > > > Cc: Barry Song <21cnbao@xxxxxxxxx> > > > --- > > > include/linux/huge_mm.h | 3 ++- > > > mm/huge_memory.c | 2 +- > > > mm/memory.c | 2 +- > > > 3 files changed, 4 insertions(+), 3 deletions(-) > > > > > > diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h > > > index f72a5fd04e4f..b9742453806f 100644 > > > --- a/include/linux/huge_mm.h > > > +++ b/include/linux/huge_mm.h > > > @@ -97,9 +97,10 @@ extern struct kobj_attribute thpsize_shmem_enabled_attr; > > > > > > enum tva_type { > > > TVA_SMAPS, /* Exposing "THPeligible:" in smaps. */ > > > - TVA_PAGEFAULT, /* Serving a page fault. */ > > > + TVA_PAGEFAULT, /* Serving a non-swap page fault. */ > > > TVA_KHUGEPAGED, /* Khugepaged collapse. */ > > > TVA_FORCED_COLLAPSE, /* Forced collapse (e.g. MADV_COLLAPSE). */ > > > + TVA_SWAP, /* Serving a swap */ > > > > Serving a swap what? :) I think TVA_SWAP_PAGEFAULT would be better here right? > > And 'serving a swap page fault'. > > will change it. Thanks for your suggestion. Thanks! > > -- > Regards > Yafang Cheers, Lorenzo