Re: [LSF/MM/BPF TOPIC] Towards Unified and Extensible Memory Reclaim (reclaim_ext)

From: Gregory Price

Date: Thu Mar 26 2026 - 11:35:07 EST


... snip snip snip ...

> >
> > How Do We Get There
> > -------------------
> >
> > Do we merge the two mechanisms feature by feature, or do we prioritize
> > moving MGLRU to the pluggable model then follow with LRU once we are
> > happy with the result?
>
> Absolutely by a distance the first is preferable. The pluggability is
> controversial here and needs careful consideration.
>

Pluggability asside - I do not think merging these two things "feature
by feature" is actually feasible (I would be delighted to be wrong).

Many MGLRU "features" solve problems that MGLRU invents for itself.

Take MGLRU's PID controller - its entire purpose is to try to smooth out
refault rates and "learn" from prior mistakes - but it's fundamentally
tied to MGLRU's aging system, and the aging systems differ greatly.

- LRU: actual lists - active/inactive - that maintain ordering
- MGLRU: "generations", "inter-generation tiers", aging-in-place

"Merging" this is essentially inventing something completely new - or
more reasonably just migrating everyone to MGLRU.

In terms of managing risk, it seems far more reasonable to either split
MGLRU off into its own file and formalize the interface (ops), or simply
rip it out and let each individual feature fight its way back in.

~Gregory