Re: [PATCH v2 2/5] huge_memory: add huge_zero_page_shrinker_(init|exit) function
From: Pankaj Raghav (Samsung)
Date: Wed Jul 16 2025 - 04:11:37 EST
On Tue, Jul 15, 2025 at 04:18:26PM +0200, David Hildenbrand wrote:
> On 07.07.25 16:23, Pankaj Raghav (Samsung) wrote:
> > From: Pankaj Raghav <p.raghav@xxxxxxxxxxx>
> >
> > Add huge_zero_page_shrinker_init() and huge_zero_page_shrinker_exit().
> > As shrinker will not be needed when static PMD zero page is enabled,
> > these two functions can be a no-op.
> >
> > This is a preparation patch for static PMD zero page. No functional
> > changes.
> >
> > Signed-off-by: Pankaj Raghav <p.raghav@xxxxxxxxxxx>
> > ---
> > mm/huge_memory.c | 38 +++++++++++++++++++++++++++-----------
> > 1 file changed, 27 insertions(+), 11 deletions(-)
> >
> > diff --git a/mm/huge_memory.c b/mm/huge_memory.c
> > index d3e66136e41a..101b67ab2eb6 100644
> > --- a/mm/huge_memory.c
> > +++ b/mm/huge_memory.c
> > @@ -289,6 +289,24 @@ static unsigned long shrink_huge_zero_page_scan(struct shrinker *shrink,
> > }
> > static struct shrinker *huge_zero_page_shrinker;
> > +static int huge_zero_page_shrinker_init(void)
> > +{
> > + huge_zero_page_shrinker = shrinker_alloc(0, "thp-zero");
> > + if (!huge_zero_page_shrinker)
> > + return -ENOMEM;
> > +
> > + huge_zero_page_shrinker->count_objects = shrink_huge_zero_page_count;
> > + huge_zero_page_shrinker->scan_objects = shrink_huge_zero_page_scan;
> > + shrinker_register(huge_zero_page_shrinker);
> > + return 0;
> > +}
> > +
> > +static void huge_zero_page_shrinker_exit(void)
> > +{
> > + shrinker_free(huge_zero_page_shrinker);
> > + return;
> > +}
>
> While at it, we should rename most of that to "huge_zero_folio" I assume.
Sounds good.
>
> --
> Cheers,
>
> David / dhildenb
>