[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1663060287-30201-5-git-send-email-kaixuxia@tencent.com>
Date: Tue, 13 Sep 2022 17:11:27 +0800
From: xiakaixu1987@...il.com
To: sj@...nel.org, akpm@...ux-foundation.org
Cc: damon@...ts.linux.dev, linux-mm@...ck.org,
linux-kernel@...r.kernel.org, Kaixu Xia <kaixuxia@...cent.com>
Subject: [PATCH 4/4] mm/damon/vaddr: indicate the target is invalid when 'nr_regions' is zero
From: Kaixu Xia <kaixuxia@...cent.com>
When 'init()' and 'update()' DAMON operations failed and the number
of the damon_target regions is zero, the kdamond would do nothing
to this monitoring target in this case. It makes no sense to run
kdamond when all of monitoring targets have no regions. So add the
judgement in 'target_valid()' operation to indicate the target is
invalid when 'nr_regions' is zero.
Signed-off-by: Kaixu Xia <kaixuxia@...cent.com>
---
mm/damon/vaddr.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/mm/damon/vaddr.c b/mm/damon/vaddr.c
index 39ea48d9cc15..65ff98d49ec0 100644
--- a/mm/damon/vaddr.c
+++ b/mm/damon/vaddr.c
@@ -598,6 +598,9 @@ static bool damon_va_target_valid(void *target)
struct damon_target *t = target;
struct task_struct *task;
+ if (!damon_nr_regions(t))
+ return false;
+
task = damon_get_task_struct(t);
if (task) {
put_task_struct(task);
--
2.27.0
Powered by blists - more mailing lists