Re: [PATCH 3/3] mm/damon/dbgfs: print DAMON debugfs interface deprecation message

From: SeongJae Park
Date: Thu Feb 09 2023 - 23:35:09 EST


On Thu, 9 Feb 2023 20:32:21 -0800 Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:

> Hi,
>
> On 2/9/23 20:24, SeongJae Park wrote:
> > Hi Randy,
> >
> > On Thu, 9 Feb 2023 19:26:43 -0800 Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
> >
> >> Hi,
> >>
> >> On 2/9/23 11:20, SeongJae Park wrote:
> >>> DAMON debugfs interface has announced to be deprecated after >v5.15 LTS
> >>> kernel is released. And, v6.1.y has announced to be an LTS[1].
> >>>
> >>> Though the announcement was there for a while, some people might not
> >>> noticed that so far. Also, some users could depend on it and have
> >>> problems at movng to the alternative (DAMON sysfs interface).
> >>>
> >>> For such cases, warn DAMON debugfs interface deprecation with contacts
> >>> to ask helps when any DAMON debugfs interface file is opened.
> >>>
> >>> [1] https://git.kernel.org/pub/scm/docs/kernel/website.git/commit/?id=332e9121320bc7461b2d3a79665caf153e51732c
> >>>
> >>> Signed-off-by: SeongJae Park <sj@xxxxxxxxxx>
> >>> ---
> >>> mm/damon/dbgfs.c | 16 ++++++++++++++++
> >>> 1 file changed, 16 insertions(+)
> >>>
> >>> diff --git a/mm/damon/dbgfs.c b/mm/damon/dbgfs.c
> >>> index b3f454a5c682..e551a20b35e3 100644
> >>> --- a/mm/damon/dbgfs.c
> >>> +++ b/mm/damon/dbgfs.c
> >>> @@ -20,6 +20,11 @@ static int dbgfs_nr_ctxs;
> >>> static struct dentry **dbgfs_dirs;
> >>> static DEFINE_MUTEX(damon_dbgfs_lock);
> >>>
> >>> +static void damon_dbgfs_warn_deprecation(void)
> >>> +{
> >>> + pr_warn_once("DAMON debugfs interface is deprecated, so users should move to the sysfs interface (DAMON_SYSFS). If you depend on this and cannot move, please report your usecase to damon@xxxxxxxxxxxxxxx and linux-mm@xxxxxxxxx.\n");
> >>> +}
> >>
> >> Line length of 234 is a bit over the limit.
> >> I think it would be OK to split it at the end of the first sentence, like:
> >>
> >> pr_warn_once("DAMON debugfs interface is deprecated, so users should move to the sysfs interface (DAMON_SYSFS).\n");
> >> pr_warn_once("If you depend on this and cannot move, please report your usecase to damon@xxxxxxxxxxxxxxx and linux-mm@xxxxxxxxx.\n");
> >>
> >> or would that [2 pr_warn_once() calls] not work for some reason?
> >>
> >> Or even:
> >>
> >> pr_warn_once(
> >> "DAMON debugfs interface is deprecated, so users should move to the sysfs interface (DAMON_SYSFS).\n");
> >> pr_warn_once(
> >> "If you depend on this and cannot move, please report your usecase to damon@xxxxxxxxxxxxxxx and linux-mm@xxxxxxxxx.\n");
> >>
> >> although some people might gag at that one.
> >
> > Thank you for your opinion.
> >
> > I considered that, but I was worrying if some other messages come between those
> > two separated messages.
>
> I see.
>
> >
> > What do you think about breaking the string like below? I first tried to do so
> > like memcg hierarchy[1], but ended up to this version because of checkpatch.pl
> > outputs[2]. However, if others doesn't care, I think this is ok.
>
> It's OK to ignore checkpatch sometimes. :)
>
> >
> > pr_warn_once("DAMON debugfs interface is deprecated, "
> > "so users should move DAMON_SYSFS. If you depend on this "
> > "and cannot move, please report your usecase to "
> > "damon@xxxxxxxxxxxxxxx and linux-mm@xxxxxxxxx.\n");
> >
> > If breaking user-visible string is not ok, maybe we could make it as short as
> > your above example.
> >
> > pr_warn_once("DAMON_DBGFS is deprecated; please contact to damon@xxxxxxxxxxxxxxx and linux-mm@xxxxxxxxx if you depend on it.\n");
> >
> > May I ask your opinion?
>
> I'm OK with either one of these, but I prefer your first example over the second one.

Thank you for quick reply. I will send v2 with the first one.


Thanks,
SJ

>
> > [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/mm/memcontrol.c?h=v6.1#n3643
> > [2] https://docs.kernel.org/process/coding-style.html#breaking-long-lines-and-strings
>
> Thanks.
> --
> ~Randy
>