2022-09-15 12:30:02

by Kaixu Xia

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

From: Kaixu Xia <[email protected]>

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

Signed-off-by: Kaixu Xia <[email protected]>
---
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


2022-09-15 13:55:31

by SeongJae Park

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

Hi Kaixu,


On Thu, 15 Sep 2022 19:33:41 +0800 [email protected] wrote:

> From: Kaixu Xia <[email protected]>
>
> 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 <[email protected]>

Reviewed-by: SeongJae Park <[email protected]>


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
>