[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20231128035345.5c7yc7jnautjpfoc@moria.home.lan>
Date: Mon, 27 Nov 2023 22:53:45 -0500
From: Kent Overstreet <kent.overstreet@...ux.dev>
To: Muchun Song <muchun.song@...ux.dev>
Cc: Qi Zheng <zhengqi.arch@...edance.com>,
Linux-MM <linux-mm@...ck.org>, linux-kernel@...r.kernel.org,
Andrew Morton <akpm@...ux-foundation.org>,
Roman Gushchin <roman.gushchin@...ux.dev>,
Dave Chinner <david@...morbit.com>
Subject: Re: [PATCH 2/7] mm: shrinker: Add a .to_text() method for shrinkers
On Tue, Nov 28, 2023 at 11:27:11AM +0800, Muchun Song wrote:
>
>
> > On Nov 25, 2023, at 08:30, Kent Overstreet <kent.overstreet@...ux.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.
That's why the convention is typename_to_text() - generate a text
representation of an object of that type.
Powered by blists - more mailing lists