Re: [v4] mm: khugepaged: avoid overriding min_free_kbytes set by user

From: Vijay Balakrishna
Date: Tue Sep 22 2020 - 12:10:51 EST




On 9/22/2020 3:07 AM, Michal Hocko wrote:
On Tue 22-09-20 10:07:26, Kirill A. Shutemov wrote:
On Mon, Sep 21, 2020 at 12:07:23PM -0700, Vijay Balakrishna wrote:

I would recommend reposting the patch which adds heuristic for THP (if
THP is enabled) into the hotplug path, arguing with the consistency and
surprising results when adding memory decreases the value.

I hope my reposted patch
([v3 1/2] mm: khugepaged: recalculate min_free_kbytes after memory hotplug
as expected by khugepaged)
change log is ok:

When memory is hotplug added or removed the min_free_kbytes must be
recalculated based on what is expected by khugepaged. Currently
after hotplug, min_free_kbytes will be set to a lower default and higher
default set when THP enabled is lost. This change restores min_free_kbytes
as expected for THP consumers.

Any scenario when hotremove would result in changing min_free_kbytes?

init_per_zone_wmark_min is called from both online and offline path. But
I believe the problem is not in the offlining path. A decrease wrt
previous auto tuned value is to be expected. The primary problem is that
the hotadding memory after boot (without any user configured value) will
decrease the value effectively because khugepaged tuning
(set_recommended_min_free_kbytes) is not called.

Thank you Michal and Kirill.

Vijay