RE: [PATCH 2/3] mm/lru_gen: add configuration option to select debugfs/procfs for lru_gen

wangzicheng
2025-12-02T02:53:20Z

Hi Yuanchu,

>
> On Thu, Nov 27, 2025 at 8:54 PM Zicheng Wang <wangzicheng@honor.com>
> wrote:
> >
> > Signed-off-by: Zicheng Wang <wangzicheng@honor.com>
> > ---
> > mm/Kconfig | 10 ++++++++++
> > 1 file changed, 10 insertions(+)
> >
> > diff --git a/mm/Kconfig b/mm/Kconfig
> > index e443fe8cd..be7efa794 100644
> > --- a/mm/Kconfig
> > +++ b/mm/Kconfig
> > @@ -1325,6 +1325,16 @@ config LRU_GEN_STATS
> > config LRU_GEN_WALKS_MMU
> > def_bool y
> > depends on LRU_GEN && ARCH_HAS_HW_PTE_YOUNG
> > +
> > +config LRU_GEN_PROCFS_CTRL
> > + bool "Move lru_gen files from debugfs to procfs"
> > + depends on LRU_GEN && PROC_FS
> > + help
> > + Move lru_gen management from debugfs to procfs (/proc/lru_gen).
> > + This production-ready feature provides critical memory reclaim
> > + prediction and control. It is no longer experimental.
> > + The migration ensures availability in commercial products where
> > + debugfs may be disabled.
> Hi Zicheng,
>
> A config option determining where LRU_gen files reside creates a
> fragile procfs interface. Consider adding a similar interface with
> less implementation detail to /sys/kernel/mm/lru_gen/ if the goal is
> to stabilize the debugfs APIs.

Thank you for the comments.
Your suggestion on sysfs really make sence. The only challenge is the show
buffers of sysfs are limited to PAGE_SIZE according to the kernel doc.
It can hardly show all memcg infos in a single read, as debugfs file
currently does.

>
> If the goal is to proactively age lruvecs that have been at
> MIN_NR_GENS for some time/events/etc, is it possible to integrate this
> into the kernel and avoid leaking MGLRU implementation details into
> userspace?

We will explore the possible options in the next version. :-)

>
> Thanks,
> Yuanchu

Best,
Zicheng