[PATCH] mm/damon: use 'struct damon_target *' instead of 'void *' in target_valid()

xiakaixu1987@gmail.com posted 1 patch 3 years, 6 months ago
include/linux/damon.h | 2 +-
mm/damon/vaddr.c      | 3 +--
2 files changed, 2 insertions(+), 3 deletions(-)
[PATCH] mm/damon: use 'struct damon_target *' instead of 'void *' in target_valid()
Posted by xiakaixu1987@gmail.com 3 years, 6 months ago
From: Kaixu Xia <kaixuxia@tencent.com>

We could use 'struct damon_target *' directly instead of 'void *' in
target_valid() operation to make code simple.

Signed-off-by: Kaixu Xia <kaixuxia@tencent.com>
---
 include/linux/damon.h | 2 +-
 mm/damon/vaddr.c      | 3 +--
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/include/linux/damon.h b/include/linux/damon.h
index c5dc0c77c772..1dda8d0068e5 100644
--- a/include/linux/damon.h
+++ b/include/linux/damon.h
@@ -346,7 +346,7 @@ struct damon_operations {
 	unsigned long (*apply_scheme)(struct damon_ctx *context,
 			struct damon_target *t, struct damon_region *r,
 			struct damos *scheme);
-	bool (*target_valid)(void *target);
+	bool (*target_valid)(struct damon_target *t);
 	void (*cleanup)(struct damon_ctx *context);
 };
 
diff --git a/mm/damon/vaddr.c b/mm/damon/vaddr.c
index 3f84584f9982..f53c2ff2bcc8 100644
--- a/mm/damon/vaddr.c
+++ b/mm/damon/vaddr.c
@@ -593,9 +593,8 @@ static unsigned int damon_va_check_accesses(struct damon_ctx *ctx)
  * Functions for the target validity check and cleanup
  */
 
-static bool damon_va_target_valid(void *target)
+static bool damon_va_target_valid(struct damon_target *t)
 {
-	struct damon_target *t = target;
 	struct task_struct *task;
 
 	task = damon_get_task_struct(t);
-- 
2.27.0
Re: [PATCH] mm/damon: use 'struct damon_target *' instead of 'void *' in target_valid()
Posted by SeongJae Park 3 years, 6 months ago
Hi Kaixu,


On Thu, 15 Sep 2022 19:33:41 +0800 xiakaixu1987@gmail.com wrote:

> From: Kaixu Xia <kaixuxia@tencent.com>
> 
> We could use 'struct damon_target *' directly instead of 'void *' in
> target_valid() operation to make code simple.

Nice finding.

> 
> Signed-off-by: Kaixu Xia <kaixuxia@tencent.com>

Reviewed-by: SeongJae Park <sj@kernel.org>


Thanks,
SJ

> ---
>  include/linux/damon.h | 2 +-
>  mm/damon/vaddr.c      | 3 +--
>  2 files changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/include/linux/damon.h b/include/linux/damon.h
> index c5dc0c77c772..1dda8d0068e5 100644
> --- a/include/linux/damon.h
> +++ b/include/linux/damon.h
> @@ -346,7 +346,7 @@ struct damon_operations {
>  	unsigned long (*apply_scheme)(struct damon_ctx *context,
>  			struct damon_target *t, struct damon_region *r,
>  			struct damos *scheme);
> -	bool (*target_valid)(void *target);
> +	bool (*target_valid)(struct damon_target *t);
>  	void (*cleanup)(struct damon_ctx *context);
>  };
>  
> diff --git a/mm/damon/vaddr.c b/mm/damon/vaddr.c
> index 3f84584f9982..f53c2ff2bcc8 100644
> --- a/mm/damon/vaddr.c
> +++ b/mm/damon/vaddr.c
> @@ -593,9 +593,8 @@ static unsigned int damon_va_check_accesses(struct damon_ctx *ctx)
>   * Functions for the target validity check and cleanup
>   */
>  
> -static bool damon_va_target_valid(void *target)
> +static bool damon_va_target_valid(struct damon_target *t)
>  {
> -	struct damon_target *t = target;
>  	struct task_struct *task;
>  
>  	task = damon_get_task_struct(t);
> -- 
> 2.27.0
>