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

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


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.

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.

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?

[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,
SJ

>
>
> --
> ~Randy