Re: [[PATCH]] mm: khugepaged: recalculate min_free_kbytes after memory hotplug as expected by khugepaged

From: Pavel Tatashin
Date: Thu Sep 10 2020 - 18:29:13 EST


Hi Kirill,

On Thu, Sep 10, 2020 at 6:01 PM Kirill A. Shutemov
<kirill.shutemov@xxxxxxxxxxxxxxx> wrote:
>
> On Thu, Sep 10, 2020 at 01:47:39PM -0700, Vijay Balakrishna wrote:
> > 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 leaves the system with small
> > min_free_kbytes which isn't suitable for systems especially with network
> > intensive loads. Typical failure symptoms include HW WATCHDOG reset,
> > soft lockup hang notices, NETDEVICE WATCHDOG timeouts, and OOM process
> > kills.
> >
> > Fixes: f000565adb77 ("thp: set recommended min free kbytes")
> >
> > Signed-off-by: Vijay Balakrishna <vijayb@xxxxxxxxxxxxxxxxxxx>
> > Cc: stable@xxxxxxxxxxxxxxx
>
> NAK. It would override min_free_kbytes set by user.

Hi Kirill,

Thank you for looking into this. How is this different from when
khugepaged modifies it?

echo always >/sys/kernel/mm/transparent_hugepage/enabled

Which results in:

start_stop_khugepaged
set_recommended_min_free_kbytes

Which will also adjust min_free_kbytes according to hugepaged requirement?

This bug that Vijay described is another hot-plug related issue that
we have found on our system where we perform memory hot add and hot
remove on every reboot.

Thank you,
Pasha