From: Michal Hocko <mhocko@suse.com>
To: Kent Overstreet <kent.overstreet@linux.dev>
Cc: Roman Gushchin <roman.gushchin@linux.dev>,
Qi Zheng <zhengqi.arch@bytedance.com>,
Muchun Song <muchun.song@linux.dev>,
Linux-MM <linux-mm@kvack.org>,
linux-kernel@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
Dave Chinner <david@fromorbit.com>
Subject: Re: [PATCH 2/7] mm: shrinker: Add a .to_text() method for shrinkers
Date: Mon, 4 Dec 2023 11:33:12 +0100 [thread overview]
Message-ID: <ZW2q6GAanaogxCSV@tiehlicka> (raw)
In-Reply-To: <20231201212506.skgzaoafi5zgi3pi@moria.home.lan>
On Fri 01-12-23 16:25:06, Kent Overstreet wrote:
> On Fri, Dec 01, 2023 at 11:04:23AM +0100, Michal Hocko wrote:
> > On Thu 30-11-23 20:47:45, Kent Overstreet wrote:
> > > On Thu, Nov 30, 2023 at 09:14:35AM +0100, Michal Hocko wrote:
> > [...]
> > > > All that being said, I am with you on the fact that the oom report in
> > > > its current form could see improvements.
> > >
> > > I'm glad we're finally in agreement on something!
> > >
> > > If you want to share your own ideas on what could be improved and what
> > > you find useful, maybe we could find some more common ground.
> >
> > One thing that I would consider an improvement is to have a way to
> > subscribe drivers with excessive memory consumption or those which are
> > struggling to dump their state.
>
> Remember the memory allocation profiling patchset? The one where you
> kept complaining about "maintenancy overhead"?
Yes, I still maintain my opinion on that approach. I have never
questioned usefulness of the information.
> We can plug that into the show_mem report too, and list the top 10
> allocations by file and line number.
>
> > Maybe your proposal can be extended that way but the crucial point is to
> > not dump all sorts of random shrinkers' state and end up with unwieldy
> > reports. If, on the other hand, any particular shrinker struggles to
> > reclaim memory and it is sitting on a lot of memory it could be able to
> > flag itself to be involved in the dump.
>
> Great, since as was mentioned in the original commit message it's not
> "all sorts of random shrinkers", but top 10 by objects reported, what
> I've got here should make you happy.
Can we do better and make that a shrinker decision rather than an
arbitrary top N selection? The thing is that shrinkers might even not
matter in many cases so their output would be just a balast. The number
of objects is not universaly great choice. As Dave mentioned metdata
might be pinning other objects.
That being said, if you want to give more debugability power to
shrinkers then it makes more sense to allow them to opt-in for the oom
report rather than control which of them to involve from the oom
reporting code which doesn't have enough context on its own.
--
Michal Hocko
SUSE Labs
next prev parent reply other threads:[~2023-12-04 10:33 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-22 23:25 [PATCH 0/7] shrinker debugging improvements Kent Overstreet
2023-11-22 23:25 ` [PATCH 1/7] seq_buf: seq_buf_human_readable_u64() Kent Overstreet
2023-11-22 23:25 ` [PATCH 2/7] mm: shrinker: Add a .to_text() method for shrinkers Kent Overstreet
[not found] ` <deed9bb1-02b9-4e89-895b-38a84e5a9408@gmail.com>
2023-11-23 21:24 ` Kent Overstreet
2023-11-24 3:08 ` Qi Zheng
2023-11-25 0:30 ` Kent Overstreet
2023-11-28 3:27 ` Muchun Song
2023-11-28 3:53 ` Kent Overstreet
2023-11-28 6:23 ` Qi Zheng
2023-11-29 0:34 ` Roman Gushchin
2023-11-29 9:14 ` Michal Hocko
2023-11-29 23:11 ` Kent Overstreet
2023-11-30 3:09 ` Qi Zheng
2023-11-30 3:21 ` Kent Overstreet
2023-11-30 3:42 ` Qi Zheng
2023-11-30 4:14 ` Kent Overstreet
2023-11-30 19:01 ` Roman Gushchin
2023-12-01 0:00 ` Kent Overstreet
2023-12-01 1:18 ` Dave Chinner
2023-12-01 20:01 ` Roman Gushchin
2023-12-01 21:51 ` Kent Overstreet
2023-12-06 8:16 ` Dave Chinner
2023-12-06 19:13 ` Kent Overstreet
2023-12-09 1:44 ` Roman Gushchin
2023-12-09 2:04 ` Kent Overstreet
2023-11-30 8:14 ` Michal Hocko
2023-12-01 1:47 ` Kent Overstreet
2023-12-01 10:04 ` Michal Hocko
2023-12-01 21:25 ` Kent Overstreet
2023-12-04 10:33 ` Michal Hocko [this message]
2023-12-04 18:15 ` Kent Overstreet
2023-12-05 8:49 ` Michal Hocko
2023-12-05 23:21 ` Kent Overstreet
2023-11-24 11:46 ` kernel test robot
2023-11-28 10:01 ` Michal Hocko
2023-11-28 17:48 ` Kent Overstreet
2023-11-29 16:02 ` Michal Hocko
2023-11-29 22:36 ` Kent Overstreet
2023-11-22 23:25 ` [PATCH 3/7] mm: shrinker: Add new stats for .to_text() Kent Overstreet
2023-11-22 23:25 ` [PATCH 4/7] mm: Centralize & improve oom reporting in show_mem.c Kent Overstreet
2023-11-28 10:07 ` Michal Hocko
2023-11-28 17:54 ` Kent Overstreet
2023-11-29 8:59 ` Michal Hocko
2023-11-22 23:25 ` [PATCH 5/7] mm: shrinker: Add shrinker_to_text() to debugfs interface Kent Overstreet
2023-11-22 23:25 ` [PATCH 6/7] bcachefs: shrinker.to_text() methods Kent Overstreet
2023-11-22 23:25 ` [PATCH 7/7] bcachefs: add counters for failed shrinker reclaim Kent Overstreet
2023-11-28 9:59 ` [PATCH 0/7] shrinker debugging improvements Michal Hocko
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=ZW2q6GAanaogxCSV@tiehlicka \
--to=mhocko@suse.com \
--cc=akpm@linux-foundation.org \
--cc=david@fromorbit.com \
--cc=kent.overstreet@linux.dev \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=muchun.song@linux.dev \
--cc=roman.gushchin@linux.dev \
--cc=zhengqi.arch@bytedance.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).