Messages in this thread | | | Subject | Re: [v5] mm: khugepaged: recalculate min_free_kbytes after memory hotplug as expected by khugepaged | From | Vijay Balakrishna <> | Date | Wed, 30 Sep 2020 13:47:50 -0700 |
| |
On 9/30/2020 11:20 AM, Mike Kravetz wrote: > On 9/29/20 9:49 AM, Vijay Balakrishna wrote: >> When memory is hotplug added or removed the min_free_kbytes should 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. >> >> Fixes: f000565adb77 ("thp: set recommended min free kbytes") >> >> Signed-off-by: Vijay Balakrishna <vijayb@linux.microsoft.com> >> Cc: stable@vger.kernel.org >> Reviewed-by: Pavel Tatashin <pasha.tatashin@soleen.com> >> Acked-by: Michal Hocko <mhocko@suse.com> > > Sorry for jumping in so late. Should we use this as an opportunity to > also fix up the messages logged when (re)calculating mfk? They are wrong > and could be quite confusing.
Sure. Please share your thoughts regarding appropriate message. Here is what I'm thinking
pr_warn("min_free_kbytes is not updated to %d because current value %d is preferred\n", new_min_free_kbytes, min_free_kbytes);
If above message is reasonable I can post a new revision (v6).
Thanks, Vijay
> For example consider the following sequence > of operations and corresponding log messages produced. > > Freshly booted VM with 2 nodes and 8GB memory: > # cat /proc/sys/vm/min_free_kbytes > 90112 > # echo 90000 > /proc/sys/vm/min_free_kbytes > # cat /proc/sys/vm/min_free_kbytes > 90000 > # echo 0 > /sys/devices/system/node/node1/memory56/online > [ 135.099947] Offlined Pages 32768 > [ 135.102362] min_free_kbytes is not updated to 11241 because user defined value 90000 is preferred > [ 135.109070] khugepaged: raising min_free_kbytes from 90000 to 90112 to help t > ransparent hugepage allocations > # cat /proc/sys/vm/min_free_kbytes > 90112 > # echo 1 > /sys/devices/system/node/node1/memory56/online > [ 231.656075] min_free_kbytes is not updated to 11334 because user defined value 90000 is preferred > # cat /proc/sys/vm/min_free_kbytes > 90112 >
| |