All of lore.kernel.org
 help / color / mirror / Atom feed
From: Xin Hao <xhao@linux.alibaba.com>
To: sj@kernel.org
Cc: xhao@linux.alibaba.com, akpm@linux-foundation.org,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: [PATCH V1 2/2] mm/damon/dbgfs: Modify Damon dbfs interface dependency in Kconfig
Date: Fri, 21 Jan 2022 00:04:28 +0800	[thread overview]
Message-ID: <00a90e13bba20c252a0ea1c0fb3e1c07b0fbb3b0.1642722660.git.xhao@linux.alibaba.com> (raw)
In-Reply-To: <cover.1642722660.git.xhao@linux.alibaba.com>

If you want to support "DAMON_DBGFS" in config file, it only depends on
any one of "DAMON_VADDR" and "DAMON_PADDR", and sometimes we just want to
use damon virtual address function, but it is unreasonable to include
"DAMON_PADDR" in config file which cause the damon/paddr.c be compiled.

So there just do little change to fix it.

Signed-off-by: Xin Hao <xhao@linux.alibaba.com>
---
 include/linux/damon.h | 16 ++++++++++++++++
 mm/damon/Kconfig      |  2 +-
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/include/linux/damon.h b/include/linux/damon.h
index 794b5f453662..c83e4588aa45 100644
--- a/include/linux/damon.h
+++ b/include/linux/damon.h
@@ -501,12 +501,28 @@ int damon_stop(struct damon_ctx **ctxs, int nr_ctxs);
 #ifdef CONFIG_DAMON_VADDR
 bool damon_va_target_valid(void *t);
 void damon_va_set_primitives(struct damon_ctx *ctx);
+#else
+static inline void damon_va_set_primitives(struct damon_ctx *ctx) { }
+static inline bool damon_va_target_valid(void *t)
+{
+	return false;
+}
 #endif	/* CONFIG_DAMON_VADDR */

 #ifdef CONFIG_DAMON_PADDR
 bool damon_pa_check(char *buf, size_t count);
 bool damon_pa_target_valid(void *t);
 void damon_pa_set_primitives(struct damon_ctx *ctx);
+#else
+static inline bool damon_pa_check(char *buf, size_t count)
+{
+	return false;
+}
+static inline void damon_pa_set_primitives(struct damon_ctx *ctx) { }
+static inline bool damon_pa_target_valid(void *t)
+{
+	return false;
+}
 #endif	/* CONFIG_DAMON_PADDR */

 #endif	/* _DAMON_H */
diff --git a/mm/damon/Kconfig b/mm/damon/Kconfig
index 5bcf05851ad0..a8952af3c8bf 100644
--- a/mm/damon/Kconfig
+++ b/mm/damon/Kconfig
@@ -54,7 +54,7 @@ config DAMON_VADDR_KUNIT_TEST

 config DAMON_DBGFS
 	bool "DAMON debugfs interface"
-	depends on DAMON_VADDR && DAMON_PADDR && DEBUG_FS
+	depends on (DAMON_VADDR || DAMON_PADDR) && DEBUG_FS
 	help
 	  This builds the debugfs interface for DAMON.  The user space admins
 	  can use the interface for arbitrary data access monitoring.
--
2.27.0

  parent reply	other threads:[~2022-01-20 16:06 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <cover.1642722660.git.xhao@linux.alibaba.com>
2022-01-20 16:04 ` [PATCH V1 1/2] mm/damon/dbgfs: Put "paddr" check into damon_pa_check() func Xin Hao
2022-01-20 17:47   ` SeongJae Park
2022-01-20 16:04 ` Xin Hao [this message]
2022-01-20 17:46   ` [PATCH V1 2/2] mm/damon/dbgfs: Modify Damon dbfs interface dependency in Kconfig SeongJae Park
2022-01-21  2:14     ` Xin Hao
2022-01-21  9:45       ` SeongJae Park

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=00a90e13bba20c252a0ea1c0fb3e1c07b0fbb3b0.1642722660.git.xhao@linux.alibaba.com \
    --to=xhao@linux.alibaba.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=sj@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.