From: Johannes Weiner <hannes@cmpxchg.org>
To: Yang Shi <shy828301@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
Eric Bergen <ebergen@meta.com>
Subject: Re: [PATCH] mm: vmscan: split khugepaged stats from direct reclaim stats
Date: Tue, 25 Oct 2022 16:54:02 -0400 [thread overview]
Message-ID: <Y1hM6sMRpBGUPRyo@cmpxchg.org> (raw)
In-Reply-To: <CAHbLzkoXzbHRJxb9DkjGkKQ8TAO08ctvz7wvjyPA8Gy2Skm+2g@mail.gmail.com>
On Tue, Oct 25, 2022 at 12:40:15PM -0700, Yang Shi wrote:
> On Tue, Oct 25, 2022 at 10:05 AM Johannes Weiner <hannes@cmpxchg.org> wrote:
> >
> > Direct reclaim stats are useful for identifying a potential source for
> > application latency, as well as spotting issues with kswapd. However,
> > khugepaged currently distorts the picture: as a kernel thread it
> > doesn't impose allocation latencies on userspace, and it explicitly
> > opts out of kswapd reclaim. Its activity showing up in the direct
> > reclaim stats is misleading. Counting it as kswapd reclaim could also
> > cause confusion when trying to understand actual kswapd behavior.
> >
> > Break out khugepaged from the direct reclaim counters into new
> > pgsteal_khugepaged, pgdemote_khugepaged, pgscan_khugepaged counters.
> >
> > Test with a huge executable (CONFIG_READ_ONLY_THP_FOR_FS):
> >
> > pgsteal_kswapd 1342185
> > pgsteal_direct 0
> > pgsteal_khugepaged 3623
> > pgscan_kswapd 1345025
> > pgscan_direct 0
> > pgscan_khugepaged 3623
>
> There are other kernel threads or works may allocate memory then
> trigger memory reclaim, there may be similar problems for them and
> someone may try to add a new stat. So how's about we make the stats
> more general, for example, call it "pg{steal|scan}_kthread"?
I'm not convinved that's a good idea.
Can you generally say that userspace isn't indirectly waiting for one
of those allocating threads? With khugepaged, we know.
And those other allocations are usually ___GFP_KSWAPD_RECLAIM, so if
they do direct reclaim, we'd probably want to know that kswapd is
failing to keep up (doubly so if userspace is waiting). In a shared
kthread counter, khugepaged would again muddy the waters.
next prev parent reply other threads:[~2022-10-25 20:54 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-25 17:05 [PATCH] mm: vmscan: split khugepaged stats from direct reclaim stats Johannes Weiner
2022-10-25 17:16 ` Matthew Wilcox
2022-10-25 20:43 ` Johannes Weiner
2022-10-25 19:40 ` Yang Shi
2022-10-25 20:54 ` Johannes Weiner [this message]
2022-10-25 21:53 ` Yang Shi
2022-10-26 17:32 ` Johannes Weiner
2022-10-26 20:51 ` Yang Shi
2022-10-27 2:41 ` Yosry Ahmed
2022-10-27 14:15 ` Johannes Weiner
2022-10-27 20:43 ` Yosry Ahmed
2022-10-28 14:39 ` Johannes Weiner
2022-10-28 17:41 ` Yosry Ahmed
2022-10-31 16:00 ` Johannes Weiner
2022-10-31 16:46 ` Yosry Ahmed
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=Y1hM6sMRpBGUPRyo@cmpxchg.org \
--to=hannes@cmpxchg.org \
--cc=akpm@linux-foundation.org \
--cc=ebergen@meta.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=shy828301@gmail.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.