On Thu, 15 Sep 2022 22:22:36 +0800 Xin Hao <xhao@xxxxxxxxxxxxxxxxx> wrote:Yes, Do like this, make code look more clean. but this patch has been merged into, i send a new one to fix it ?
In damon_sysfs_destroy_targets(), we call damon_target_has_pid() toGood eyes, nice finding!
check whether the 'ctx' include a valid pid, but there no need to call
damon_target_has_pid() to check repeatedly, just need call it once.
Signed-off-by: Xin Hao <xhao@xxxxxxxxxxxxxxxxx>How about doing more simple and short like below?
---
mm/damon/sysfs.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/mm/damon/sysfs.c b/mm/damon/sysfs.c
index 1fa0023f136e..966ea7892ccf 100644
--- a/mm/damon/sysfs.c
+++ b/mm/damon/sysfs.c
@@ -2143,9 +2143,13 @@ static int damon_sysfs_set_attrs(struct damon_ctx *ctx,
static void damon_sysfs_destroy_targets(struct damon_ctx *ctx)
{
struct damon_target *t, *next;
+ bool has_pid = false;
+
+ if (damon_target_has_pid(ctx))
+ has_pid = true;
bool has_pid = damon_target_has_pid(ctx)
Other than this,
Reviewed-by: SeongJae Park <sj@xxxxxxxxxx>
Thanks,
SJ
damon_for_each_target_safe(t, next, ctx) {
- if (damon_target_has_pid(ctx))
+ if (has_pid)
put_pid(t->pid);
damon_destroy_target(t);
}
--
2.31.0