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

From: Randy Dunlap
Date: Thu Feb 09 2023 - 23:32:32 EST


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.

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