2022-09-17 10:01:11

by Kaixu Xia

[permalink] [raw]
Subject: [PATCH] mm/damon: rename damon_pageout_score() to damon_cold_score()

From: Kaixu Xia <[email protected]>

In the beginning there is only one damos_action 'DAMOS_PAGEOUT'
that need to get the coldness score of a region for a scheme,
which using damon_pageout_score() to do that. But now there are
also other damos_action actions need the coldness score, so
rename it to damon_cold_score() to make more sense.

Signed-off-by: Kaixu Xia <[email protected]>
---
mm/damon/ops-common.c | 2 +-
mm/damon/ops-common.h | 2 +-
mm/damon/paddr.c | 5 ++---
mm/damon/vaddr.c | 2 +-
4 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/mm/damon/ops-common.c b/mm/damon/ops-common.c
index 9310df72e1c5..75409601f934 100644
--- a/mm/damon/ops-common.c
+++ b/mm/damon/ops-common.c
@@ -130,7 +130,7 @@ int damon_hot_score(struct damon_ctx *c, struct damon_region *r,
return hotness;
}

-int damon_pageout_score(struct damon_ctx *c, struct damon_region *r,
+int damon_cold_score(struct damon_ctx *c, struct damon_region *r,
struct damos *s)
{
int hotness = damon_hot_score(c, r, s);
diff --git a/mm/damon/ops-common.h b/mm/damon/ops-common.h
index 52329ff361cd..8d82d3722204 100644
--- a/mm/damon/ops-common.h
+++ b/mm/damon/ops-common.h
@@ -12,7 +12,7 @@ struct page *damon_get_page(unsigned long pfn);
void damon_ptep_mkold(pte_t *pte, struct mm_struct *mm, unsigned long addr);
void damon_pmdp_mkold(pmd_t *pmd, struct mm_struct *mm, unsigned long addr);

-int damon_pageout_score(struct damon_ctx *c, struct damon_region *r,
+int damon_cold_score(struct damon_ctx *c, struct damon_region *r,
struct damos *s);
int damon_hot_score(struct damon_ctx *c, struct damon_region *r,
struct damos *s);
diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c
index dfeebffe82f4..e495146e49e9 100644
--- a/mm/damon/paddr.c
+++ b/mm/damon/paddr.c
@@ -287,11 +287,10 @@ static int damon_pa_scheme_score(struct damon_ctx *context,
{
switch (scheme->action) {
case DAMOS_PAGEOUT:
- return damon_pageout_score(context, r, scheme);
+ case DAMOS_LRU_DEPRIO:
+ return damon_cold_score(context, r, scheme);
case DAMOS_LRU_PRIO:
return damon_hot_score(context, r, scheme);
- case DAMOS_LRU_DEPRIO:
- return damon_pageout_score(context, r, scheme);
default:
break;
}
diff --git a/mm/damon/vaddr.c b/mm/damon/vaddr.c
index f53c2ff2bcc8..ea94e0b2c311 100644
--- a/mm/damon/vaddr.c
+++ b/mm/damon/vaddr.c
@@ -673,7 +673,7 @@ static int damon_va_scheme_score(struct damon_ctx *context,

switch (scheme->action) {
case DAMOS_PAGEOUT:
- return damon_pageout_score(context, r, scheme);
+ return damon_cold_score(context, r, scheme);
default:
break;
}
--
2.27.0


2022-09-17 11:43:56

by SeongJae Park

[permalink] [raw]
Subject: Re: [PATCH] mm/damon: rename damon_pageout_score() to damon_cold_score()

On Sat, 17 Sep 2022 17:39:18 +0800 [email protected] wrote:

> From: Kaixu Xia <[email protected]>
>
> In the beginning there is only one damos_action 'DAMOS_PAGEOUT'
> that need to get the coldness score of a region for a scheme,
> which using damon_pageout_score() to do that. But now there are
> also other damos_action actions need the coldness score, so
> rename it to damon_cold_score() to make more sense.

Good idea.

>
> Signed-off-by: Kaixu Xia <[email protected]>
> ---
> mm/damon/ops-common.c | 2 +-
> mm/damon/ops-common.h | 2 +-
> mm/damon/paddr.c | 5 ++---
> mm/damon/vaddr.c | 2 +-
> 4 files changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/mm/damon/ops-common.c b/mm/damon/ops-common.c
> index 9310df72e1c5..75409601f934 100644
> --- a/mm/damon/ops-common.c
> +++ b/mm/damon/ops-common.c
> @@ -130,7 +130,7 @@ int damon_hot_score(struct damon_ctx *c, struct damon_region *r,
> return hotness;
> }
>
> -int damon_pageout_score(struct damon_ctx *c, struct damon_region *r,
> +int damon_cold_score(struct damon_ctx *c, struct damon_region *r,
> struct damos *s)
> {
> int hotness = damon_hot_score(c, r, s);
> diff --git a/mm/damon/ops-common.h b/mm/damon/ops-common.h
> index 52329ff361cd..8d82d3722204 100644
> --- a/mm/damon/ops-common.h
> +++ b/mm/damon/ops-common.h
> @@ -12,7 +12,7 @@ struct page *damon_get_page(unsigned long pfn);
> void damon_ptep_mkold(pte_t *pte, struct mm_struct *mm, unsigned long addr);
> void damon_pmdp_mkold(pmd_t *pmd, struct mm_struct *mm, unsigned long addr);
>
> -int damon_pageout_score(struct damon_ctx *c, struct damon_region *r,
> +int damon_cold_score(struct damon_ctx *c, struct damon_region *r,
> struct damos *s);
> int damon_hot_score(struct damon_ctx *c, struct damon_region *r,
> struct damos *s);
> diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c
> index dfeebffe82f4..e495146e49e9 100644
> --- a/mm/damon/paddr.c
> +++ b/mm/damon/paddr.c
> @@ -287,11 +287,10 @@ static int damon_pa_scheme_score(struct damon_ctx *context,
> {
> switch (scheme->action) {
> case DAMOS_PAGEOUT:
> - return damon_pageout_score(context, r, scheme);
> + case DAMOS_LRU_DEPRIO:
> + return damon_cold_score(context, r, scheme);
> case DAMOS_LRU_PRIO:
> return damon_hot_score(context, r, scheme);
> - case DAMOS_LRU_DEPRIO:
> - return damon_pageout_score(context, r, scheme);

I'm not a big fan of switch-case fall-through, and want to keep the order of
cases here more similar to that in damos_action definition. Let's change only
the function name.

Other than that,

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


Thanks,
SJ

> default:
> break;
> }
> diff --git a/mm/damon/vaddr.c b/mm/damon/vaddr.c
> index f53c2ff2bcc8..ea94e0b2c311 100644
> --- a/mm/damon/vaddr.c
> +++ b/mm/damon/vaddr.c
> @@ -673,7 +673,7 @@ static int damon_va_scheme_score(struct damon_ctx *context,
>
> switch (scheme->action) {
> case DAMOS_PAGEOUT:
> - return damon_pageout_score(context, r, scheme);
> + return damon_cold_score(context, r, scheme);
> default:
> break;
> }
> --
> 2.27.0
>
>

2022-09-17 14:29:33

by Kaixu Xia

[permalink] [raw]
Subject: Re: [PATCH] mm/damon: rename damon_pageout_score() to damon_cold_score()

On Sat, Sep 17, 2022 at 7:12 PM SeongJae Park <[email protected]> wrote:
>
> On Sat, 17 Sep 2022 17:39:18 +0800 [email protected] wrote:
>
> > From: Kaixu Xia <[email protected]>
> >
> > In the beginning there is only one damos_action 'DAMOS_PAGEOUT'
> > that need to get the coldness score of a region for a scheme,
> > which using damon_pageout_score() to do that. But now there are
> > also other damos_action actions need the coldness score, so
> > rename it to damon_cold_score() to make more sense.
>
> Good idea.
>
> >
> > Signed-off-by: Kaixu Xia <[email protected]>
> > ---
> > mm/damon/ops-common.c | 2 +-
> > mm/damon/ops-common.h | 2 +-
> > mm/damon/paddr.c | 5 ++---
> > mm/damon/vaddr.c | 2 +-
> > 4 files changed, 5 insertions(+), 6 deletions(-)
> >
> > diff --git a/mm/damon/ops-common.c b/mm/damon/ops-common.c
> > index 9310df72e1c5..75409601f934 100644
> > --- a/mm/damon/ops-common.c
> > +++ b/mm/damon/ops-common.c
> > @@ -130,7 +130,7 @@ int damon_hot_score(struct damon_ctx *c, struct damon_region *r,
> > return hotness;
> > }
> >
> > -int damon_pageout_score(struct damon_ctx *c, struct damon_region *r,
> > +int damon_cold_score(struct damon_ctx *c, struct damon_region *r,
> > struct damos *s)
> > {
> > int hotness = damon_hot_score(c, r, s);
> > diff --git a/mm/damon/ops-common.h b/mm/damon/ops-common.h
> > index 52329ff361cd..8d82d3722204 100644
> > --- a/mm/damon/ops-common.h
> > +++ b/mm/damon/ops-common.h
> > @@ -12,7 +12,7 @@ struct page *damon_get_page(unsigned long pfn);
> > void damon_ptep_mkold(pte_t *pte, struct mm_struct *mm, unsigned long addr);
> > void damon_pmdp_mkold(pmd_t *pmd, struct mm_struct *mm, unsigned long addr);
> >
> > -int damon_pageout_score(struct damon_ctx *c, struct damon_region *r,
> > +int damon_cold_score(struct damon_ctx *c, struct damon_region *r,
> > struct damos *s);
> > int damon_hot_score(struct damon_ctx *c, struct damon_region *r,
> > struct damos *s);
> > diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c
> > index dfeebffe82f4..e495146e49e9 100644
> > --- a/mm/damon/paddr.c
> > +++ b/mm/damon/paddr.c
> > @@ -287,11 +287,10 @@ static int damon_pa_scheme_score(struct damon_ctx *context,
> > {
> > switch (scheme->action) {
> > case DAMOS_PAGEOUT:
> > - return damon_pageout_score(context, r, scheme);
> > + case DAMOS_LRU_DEPRIO:
> > + return damon_cold_score(context, r, scheme);
> > case DAMOS_LRU_PRIO:
> > return damon_hot_score(context, r, scheme);
> > - case DAMOS_LRU_DEPRIO:
> > - return damon_pageout_score(context, r, scheme);
>
> I'm not a big fan of switch-case fall-through, and want to keep the order of
> cases here more similar to that in damos_action definition. Let's change only
> the function name.
>
Ok, I'll follow that in the next version.

Thanks,
Kaixu
> Other than that,
>
> Reviewed-by: SeongJae Park <[email protected]>
>
>
> Thanks,
> SJ
>
> > default:
> > break;
> > }
> > diff --git a/mm/damon/vaddr.c b/mm/damon/vaddr.c
> > index f53c2ff2bcc8..ea94e0b2c311 100644
> > --- a/mm/damon/vaddr.c
> > +++ b/mm/damon/vaddr.c
> > @@ -673,7 +673,7 @@ static int damon_va_scheme_score(struct damon_ctx *context,
> >
> > switch (scheme->action) {
> > case DAMOS_PAGEOUT:
> > - return damon_pageout_score(context, r, scheme);
> > + return damon_cold_score(context, r, scheme);
> > default:
> > break;
> > }
> > --
> > 2.27.0
> >
> >