Subsystems (4)
SeongJae Park
maintainerDate: Thu, 9 Feb 2023 19:16:23 +0000
Subject: [PATCH 0/3] mm/damon: deprecate DAMON debugfs interface
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, keep the code and documents with warning messages and contacts to ask helps for the deprecation.
SeongJae Park (3):
Docs/admin-guide/mm/damon/usage: add DAMON debugfs interface
deprecation notice
mm/damon/Kconfig: add DAMON debugfs interface deprecation notice mm/damon/dbgfs: print DAMON debugfs interface deprecation message
Documentation/admin-guide/mm/damon/usage.rst | 20 +++++++++++++------- mm/damon/Kconfig | 7 ++++--- mm/damon/dbgfs.c | 16 ++++++++++++++++ 3 files changed, 33 insertions(+), 10 deletions(-)
Signature · 1 line
2.25.1
SeongJae Park
maintainerPATCH 1/3 Docs/admin-guide/mm/damon/usage: add DAMON debugfs interface deprecation notice
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, note DAMON debugfs interface as deprecated, and contacts to ask helps on the document.
--- Documentation/admin-guide/mm/damon/usage.rst | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-)
Documentation/admin-guide/mm/damon/usage.rst +13 -7
@@ -25,10 +25,12 @@ DAMON provides below interfaces for different users. interface provides only simple :ref:`statistics <damos_stats>` for the monitoring results. For detailed monitoring results, DAMON provides a :ref:`tracepoint <tracepoint>`. -- *debugfs interface.* +- *debugfs interface. (DEPRECATED!)* :ref:`This <debugfs_interface>` is almost identical to :ref:`sysfs interface - <sysfs_interface>`. This will be removed after next LTS kernel is released, - so users should move to the :ref:`sysfs interface <sysfs_interface>`. + <sysfs_interface>`. This is deprecated, so users should move to the + :ref:`sysfs interface <sysfs_interface>`. If you depend on this and cannot + move, please report your usecase to [email protected] and + [email protected]. - *Kernel Space Programming Interface.* :doc:`This </mm/damon/api>` is for kernel space programmers. Using this, users can utilize every feature of DAMON most flexibly and efficiently by
@@ -487,13 +489,17 @@ the files as above. Above is only for an example. .. _debugfs_interface: -debugfs Interface -================= +debugfs Interface (DEPRECATED!) +=============================== .. note:: - DAMON debugfs interface will be removed after next LTS kernel is released, so - users should move to the :ref:`sysfs interface <sysfs_interface>`. + THIS IS DEPRECATED! + + DAMON debugfs interface is deprecated, so users should move to the + :ref:`sysfs interface <sysfs_interface>`. If you depend on this and cannot + move, please report your usecase to [email protected] and + [email protected]. DAMON exports eight files, ``attrs``, ``target_ids``, ``init_regions``, ``schemes``, ``monitor_on``, ``kdamond_pid``, ``mk_contexts`` and
Signature · 1 line
2.25.1
SeongJae Park
maintainerPATCH 2/3 mm/damon/Kconfig: add DAMON debugfs interface deprecation notice
In reply to SeongJae ParkDAMON 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, note DAMON debugfs interface as deprecated, and contacts to ask helps on the Kconfig.
--- mm/damon/Kconfig | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
mm/damon/Kconfig +4 -3
@@ -60,7 +60,7 @@ config DAMON_SYSFS the interface for arbitrary data access monitoring. config DAMON_DBGFS - bool "DAMON debugfs interface" + bool "DAMON debugfs interface (DEPRECATED!)" depends on DAMON_VADDR && DAMON_PADDR && DEBUG_FS help This builds the debugfs interface for DAMON. The user space admins
@@ -68,8 +68,9 @@ config DAMON_DBGFS If unsure, say N. - This will be removed after >5.15.y LTS kernel is released, so users - should move to the sysfs interface (DAMON_SYSFS). + This 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 [email protected] and [email protected]. config DAMON_DBGFS_KUNIT_TEST bool "Test for damon debugfs interface" if !KUNIT_ALL_TESTS
Signature · 1 line
2.25.1
SeongJae Park
maintainerPATCH 3/3 mm/damon/dbgfs: print DAMON debugfs interface deprecation message
In reply to SeongJae ParkDAMON 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.
--- mm/damon/dbgfs.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
mm/damon/dbgfs.c +16 -0
@@ -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 [email protected] and [email protected].\n" ); +} +/* * Returns non-empty string on success, negative error code otherwise. */
@@ -711,6 +716,8 @@ static ssize_t dbgfs_kdamond_pid_read(struct file *file,static int damon_dbgfs_open (struct inode *inode,struct file *file) { +damon_dbgfs_warn_deprecation (); + file->private_data = inode->i_private;return nonseekable_open (inode, file);
@@ -1039,15 +1046,24 @@ static ssize_t dbgfs_monitor_on_write(struct file *file,return ret; } +static int damon_dbgfs_static_file_open (struct inode *inode,struct file *file) +{ +damon_dbgfs_warn_deprecation (); +return nonseekable_open (inode, file); +} +static const struct file_operations mk_contexts_fops = { + .open = damon_dbgfs_static_file_open, .write = dbgfs_mk_context_write, };static const struct file_operations rm_contexts_fops = { + .open = damon_dbgfs_static_file_open, .write = dbgfs_rm_context_write, };static const struct file_operations monitor_on_fops = { + .open = damon_dbgfs_static_file_open, .read = dbgfs_monitor_on_read, .write = dbgfs_monitor_on_write, };
Signature · 1 line
2.25.1
Randy Dunlap
reviewerRe: [PATCH 3/3] mm/damon/dbgfs: print DAMON debugfs interface deprecation message
Hi,
Quoted 22 lines · SeongJae Park
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.
Signed-off-by SeongJae Park <[email protected]>--- mm/damon/dbgfs.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)mm/damon/dbgfs.c +0
-0
mm/damon/dbgfs.c static int dbgfs_nr_ctxs; · line 26
Quoted 7 lines
mm/damon/dbgfs.c +4
-0@@ -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 [email protected] and [email protected].\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 [email protected] and [email protected].\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 [email protected] and [email protected].\n");
although some people might gag at that one.
Signature · 1 line
~Randy
SeongJae Park
maintainerRe: [PATCH 3/3] mm/damon/dbgfs: print DAMON debugfs interface deprecation message
Hi Randy,
Quoted 41 lines · On Thu, 9 Feb 2023 19:26:43 -0800 Randy Dunlap <[email protected]> wrote:
Hi,
Quoted 22 lines · SeongJae Park
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.
Signed-off-by SeongJae Park <[email protected]>--- mm/damon/dbgfs.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)mm/damon/dbgfs.c +0
-0mm/damon/dbgfs.c static int dbgfs_nr_ctxs; · line 26
Quoted 7 lines
mm/damon/dbgfs.c +4
-0@@ -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 [email protected] and [email protected].\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 [email protected] and [email protected].\n");or would that [2
pr_warn_once()calls] not work for some reason?
Quoted 8 lines
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 [email protected] and [email protected].\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 " "[email protected] and [email protected].\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 [email protected] and [email protected] 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
Quoted 4 lines
Signature · 2 lines
-- ~Randy
Randy Dunlap
reviewerRe: [PATCH 3/3] mm/damon/dbgfs: print DAMON debugfs interface deprecation message
Hi,
Quoted 52 lines · SeongJae Park
Hi Randy,
Quoted 48 lines · On Thu, 9 Feb 2023 19:26:43 -0800 Randy Dunlap <[email protected]> wrote:
Hi,
Quoted 22 lines · SeongJae Park
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.
Signed-off-by SeongJae Park <[email protected]>--- mm/damon/dbgfs.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)mm/damon/dbgfs.c +0
-0mm/damon/dbgfs.c static int dbgfs_nr_ctxs; · line 26
Quoted 7 lines
mm/damon/dbgfs.c +4
-0@@ -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 [email protected] and [email protected].\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 [email protected] and [email protected].\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 [email protected] and [email protected].\n");
Quoted 6 lines
Quoted 1 line
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.
Quoted 4 lines
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. :)
Quoted 6 lines
pr_warn_once("DAMON debugfs interface is deprecated, "
"so users should moveDAMON_SYSFS. If you depend on this " "and cannot move, please report your usecase to " "[email protected] and [email protected].\n");
Quoted 6 lines
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 [email protected] and [email protected] 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.
Quoted 2 lines
[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.
Signature · 1 line
~Randy
SeongJae Park
maintainerRe: [PATCH 3/3] mm/damon/dbgfs: print DAMON debugfs interface deprecation message
Quoted 77 lines · On Thu, 9 Feb 2023 20:32:21 -0800 Randy Dunlap <[email protected]> wrote:
Hi,
Quoted 52 lines · SeongJae Park
Hi Randy,
Quoted 48 lines · On Thu, 9 Feb 2023 19:26:43 -0800 Randy Dunlap <[email protected]> wrote:
Hi,
Quoted 22 lines · SeongJae Park
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.
Signed-off-by SeongJae Park <[email protected]>--- mm/damon/dbgfs.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)mm/damon/dbgfs.c +0
-0mm/damon/dbgfs.c static int dbgfs_nr_ctxs; · line 26
Quoted 7 lines
mm/damon/dbgfs.c +4
-0@@ -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 [email protected] and [email protected].\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 [email protected] and [email protected].\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 [email protected] and [email protected].\n");
Quoted 6 lines
Quoted 1 line
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.
Quoted 4 lines
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. :)
Quoted 6 lines
pr_warn_once("DAMON debugfs interface is deprecated, "
"so users should moveDAMON_SYSFS. If you depend on this " "and cannot move, please report your usecase to " "[email protected] and [email protected].\n");
Quoted 8 lines
Quoted 6 lines
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 [email protected] and [email protected] 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
Quoted 8 lines
Quoted 3 lines
[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-stringsThanks.
Signature · 1 line
~Randy