Re: [PATCH v1] mm/huge_memory: fix shrinking of all-zero THPs with max_ptes_none default

David Hildenbrand
2025-09-05T14:59:02Z

On 05.09.25 16:53, Usama Arif wrote:
>
>
> On 05/09/2025 15:46, David Hildenbrand wrote:
>> [...]
>>
>>>
>>> The reason I did this is for the case if you change max_ptes_none after the THP is added
>>> to deferred split list but *before* memory pressure, i.e. before the shrinker runs,
>>> so that its considered for splitting.
>>
>> Yeah, I was assuming that was the reason why the shrinker is enabled as default.
>>
>> But in any sane system, the admin would enable the shrinker early. If not, we can look into handling it differently.
>
> Yes, I do this as well, i.e. have a low value from the start.
>
> Does it make sense to disable shrinker if max_ptes_none is 511? It wont shrink
> the usecase you are describing below, but we wont encounter the increased CPU usage.>

I don't really see why we should do that.

If the shrinker is a problem than the shrinker should be disabled. But
if it is enabled, we should be shrinking as documented.

Without more magic around our THP toggles (we want less) :)

Shrinking happens when we are under memory pressure, so I am not really
sure how relevant the scanning bit is, and if it is relevant enought to
change the shrinker default.

--
Cheers

David / dhildenb