mm/damon/core: split out scheme stat update logic into a new function
The function for applying a given DAMON scheme action to a given DAMON region, 'damos_apply_scheme()' is not quite short. Make it better to read by splitting out the stat update logic into a new function. Link: https://lkml.kernel.org/r/20221026225943.100429-4-sj@kernel.org Signed-off-by: SeongJae Park <sj@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
e63a30c51f
commit
d1cbbf621f
|
@ -755,6 +755,16 @@ static bool damos_skip_charged_region(struct damon_target *t,
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void damos_update_stat(struct damos *s,
|
||||||
|
unsigned long sz_tried, unsigned long sz_applied)
|
||||||
|
{
|
||||||
|
s->stat.nr_tried++;
|
||||||
|
s->stat.sz_tried += sz_tried;
|
||||||
|
if (sz_applied)
|
||||||
|
s->stat.nr_applied++;
|
||||||
|
s->stat.sz_applied += sz_applied;
|
||||||
|
}
|
||||||
|
|
||||||
static void damos_apply_scheme(struct damon_ctx *c, struct damon_target *t,
|
static void damos_apply_scheme(struct damon_ctx *c, struct damon_target *t,
|
||||||
struct damon_region *r, struct damos *s)
|
struct damon_region *r, struct damos *s)
|
||||||
{
|
{
|
||||||
|
@ -786,11 +796,7 @@ static void damos_apply_scheme(struct damon_ctx *c, struct damon_target *t,
|
||||||
r->age = 0;
|
r->age = 0;
|
||||||
|
|
||||||
update_stat:
|
update_stat:
|
||||||
s->stat.nr_tried++;
|
damos_update_stat(s, sz, sz_applied);
|
||||||
s->stat.sz_tried += sz;
|
|
||||||
if (sz_applied)
|
|
||||||
s->stat.nr_applied++;
|
|
||||||
s->stat.sz_applied += sz_applied;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void damon_do_apply_schemes(struct damon_ctx *c,
|
static void damon_do_apply_schemes(struct damon_ctx *c,
|
||||||
|
|
Loading…
Reference in New Issue