From: Michal Hocko <mhocko@suse.com>
To: Vijay Balakrishna <vijayb@linux.microsoft.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
Oleg Nesterov <oleg@redhat.com>, Song Liu <songliubraving@fb.com>,
Andrea Arcangeli <aarcange@redhat.com>,
Pavel Tatashin <pasha.tatashin@soleen.com>,
Allen Pais <apais@microsoft.com>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: [[PATCH]] mm: khugepaged: recalculate min_free_kbytes after memory hotplug as expected by khugepaged
Date: Tue, 15 Sep 2020 10:18:32 +0200 [thread overview]
Message-ID: <20200915081832.GA4649@dhcp22.suse.cz> (raw)
In-Reply-To: <c6fcc196-ce7f-1f48-e9bd-c18448272df1@linux.microsoft.com>
On Mon 14-09-20 09:57:02, Vijay Balakrishna wrote:
>
>
> On 9/14/2020 7:33 AM, Michal Hocko wrote:
> > On Thu 10-09-20 13:47:39, 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.
> >
> > Care to explain some more please? The whole point of increasing
> > min_free_kbytes for THP is to get a larger free memory with a hope that
> > huge pages will be more likely to appear. While this might help for
> > other users that need a high order pages it is definitely not the
> > primary reason behind it. Could you provide an example with some more
> > data?
>
> Thanks Michal. I haven't looked into THP as part of my investigation, so I
> cannot comment.
>
> In our use case we are hotplug removing ~2GB of 8GB total (on our SoC)
> during normal reboot/shutdown. This memory is hotplug hot-added as movable
> type via systemd late service during start-of-day.
>
> In our stress test first we ran into HW WATCHDOG recovery, on enabling
> kernel watchdog we started seeing soft lockup hung task notices, failure
> symptons varied, where stack trace of hung tasks sometimes trying to
> allocate GFP_ATOMIC memory, looping in do_notify_resume, NETDEVICE WATCHDOG
> timeouts, OOM process kills etc., During investigation we reran stress test
> without hotplug use case. Surprisingly this run didn't encounter the said
> problems. This led to comparing what is different between the two runs,
> while looking at various globals, studying hotplug code I uncovered the
> issue of failing to restore min_free_kbytes. In particular on our 8GB SoC
> min_free_kbytes went down to 8703 from 22528 after hotplug add.
Did you try to increase min_free_kbytes manually after hot remove? Btw.
I would consider oom killer invocation due to min_free_kbytes really
weird behavior. If anything the higher value would cause more memory
reclaim and potentially oom rather than smaller one.
--
Michal Hocko
SUSE Labs
next prev parent reply other threads:[~2020-09-15 8:18 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-10 20:47 [[PATCH]] mm: khugepaged: recalculate min_free_kbytes after memory hotplug as expected by khugepaged Vijay Balakrishna
2020-09-10 22:01 ` Kirill A. Shutemov
2020-09-10 22:28 ` Pavel Tatashin
2020-09-10 22:56 ` Vijay Balakrishna
2020-09-15 5:04 ` Vijay Balakrishna
2020-09-14 14:33 ` Michal Hocko
2020-09-14 16:57 ` Vijay Balakrishna
2020-09-15 8:18 ` Michal Hocko [this message]
2020-09-15 15:48 ` Vijay Balakrishna
2020-09-16 6:53 ` Michal Hocko
2020-09-16 18:28 ` Vijay Balakrishna
2020-09-17 12:12 ` Michal Hocko
2020-09-17 18:03 ` Vijay Balakrishna
2020-09-18 5:45 ` Michal Hocko
2020-09-18 15:32 ` Vijay Balakrishna
2020-09-21 7:00 ` Michal Hocko
2020-09-15 18:22 ` Pavel Tatashin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200915081832.GA4649@dhcp22.suse.cz \
--to=mhocko@suse.com \
--cc=aarcange@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=apais@microsoft.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=oleg@redhat.com \
--cc=pasha.tatashin@soleen.com \
--cc=songliubraving@fb.com \
--cc=vijayb@linux.microsoft.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.