Re: [RFC 3/3] mm: THP low utilization shrinker

From: Alex Zhu (Kernel)
Date: Mon Aug 29 2022 - 16:50:07 EST



> How stale could the information in the utilization bucket be?

The staleness would be capped by the duration of the scan, 70s in in the
example.

> Is it possible that THP shrinker splits a THP used to have a lot of
> zero-filled subpages but now have all subpages filled with useful
> values?

This is possible, but we free only the zero pages, which cannot have
any useful values. How often it happens that THPs move utilization buckets
should be workload dependent.

> In Patch 2, split_huge_page() only unmap zero-filled subpages,
> but for THP shrinker, should it verify the utilization before it
> splits the page?

I think we should add this check to verify that it is still in the lowest bucket before having the
shrinker split the page. The utilization could have changed and this way we do not
need to worry about workloads where THPs move utilization buckets. Thanks!