From: Qi Zheng <zhengqi.arch@bytedance.com>
To: Kent Overstreet <kent.overstreet@linux.dev>
Cc: Muchun Song <muchun.song@linux.dev>,
Linux-MM <linux-mm@kvack.org>,
linux-kernel@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
Roman Gushchin <roman.gushchin@linux.dev>,
Dave Chinner <david@fromorbit.com>,
Michal Hocko <mhocko@suse.com>
Subject: Re: [PATCH 2/7] mm: shrinker: Add a .to_text() method for shrinkers
Date: Tue, 28 Nov 2023 14:23:36 +0800 [thread overview]
Message-ID: <abd0ddd6-389c-43dc-b18f-aa5e3a4fcf5a@bytedance.com> (raw)
In-Reply-To: <20231128035345.5c7yc7jnautjpfoc@moria.home.lan>
On 2023/11/28 11:53, Kent Overstreet wrote:
> On Tue, Nov 28, 2023 at 11:27:11AM +0800, Muchun Song wrote:
>>
>>
>>> On Nov 25, 2023, at 08:30, Kent Overstreet <kent.overstreet@linux.dev> wrote:
>>>
>>> On Fri, Nov 24, 2023 at 11:08:11AM +0800, Qi Zheng wrote:
>>>> Hi Kent,
>>>>
>>>> On 2023/11/24 05:24, Kent Overstreet wrote:
>>>>> On Thu, Nov 23, 2023 at 11:32:59AM +0800, Qi Zheng wrote:
>>>>>>> + void (*to_text)(struct seq_buf *, struct shrinker *);
>>>>>>
>>>>>> The "to_text" looks a little strange, how about naming it
>>>>>> "stat_objects"?
>>>>>
>>>>> The convention I've been using heavily in bcachefs is
>>>>> typename_to_text(), or type.to_text(), for debug reports. The
>>>>
>>>> OK.
>>>>
>>>>> consistency is nice.
>>>>
>>>> However, this is inconsistent with the name style of other
>>>> shrinker callbacks. Please use the "objects" suffix. As for
>>>> bcachefs's own callback function, you can use typename_to_text()
>>>> to ensure consistency.
>>>
>>> That would be inconsistent with introducing a convention to the wider
>>> kernel.
>>>
>>
>> I don not think .to_text is a good name. I really do not know what it means
>> when I first look at this name. I knew you want to report the objects of
>> shrinks, so why not use .report_objects or stat_objects proposed by Qi.
>> Although .to_text is only used by bcachefs now, shrinker is a general module
>> which is not only serving the bcachefs itself. I think it should be better
>> to use a more straightforward name.
>
> No, .report_objects or .stat_objects would be wrong; this isn't
> generating a report on the objects owned by the shrinker, it's just a
> report on the statistics of the shrinker itself.
Now I think adding this method might not be a good idea. If we allow
shrinkers to report thier own private information, OOM logs may become
cluttered. Most people only care about some general information when
troubleshooting OOM problem, but not the private information of a
shrinker.
So I thought maybe we could add some general statistics to the shrinker,
but adding private ".to_text" method is not necessary.
Also +CC Michal, who is reviwing OOM related patches recently.
Thanks,
Qi
>
> That's why the convention is typename_to_text() - generate a text
> representation of an object of that type.
next prev parent reply other threads:[~2023-11-28 6:23 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 [this message]
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
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=abd0ddd6-389c-43dc-b18f-aa5e3a4fcf5a@bytedance.com \
--to=zhengqi.arch@bytedance.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=mhocko@suse.com \
--cc=muchun.song@linux.dev \
--cc=roman.gushchin@linux.dev \
/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).