mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-16 06:41:39 -04:00
mm/damon/core: receive addr_unit on damon_set_region_biggest_system_ram_default()
damon_find_biggest_system_ram() was not supporting addr_unit in the past. Hence, its caller, damon_set_region_biggest_system_ram_default(), was also not supporting addr_unit. The previous commit has updated the inner function to support addr_unit. There is no more reason to not support addr_unit on damon_set_region_biggest_system_ram_default(). Rather, it makes unnecessary inconsistency on support of addr_unit. Update it to receive addr_unit and handle it inside. Link: https://lkml.kernel.org/r/20260311052927.93921-4-sj@kernel.org Signed-off-by: SeongJae Park <sj@kernel.org> Cc: Yang yingliang <yangyingliang@huawei.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
committed by
Andrew Morton
parent
b47dcc1a28
commit
eabc2eddb2
@@ -994,6 +994,7 @@ int damos_walk(struct damon_ctx *ctx, struct damos_walk_control *control);
|
||||
|
||||
int damon_set_region_biggest_system_ram_default(struct damon_target *t,
|
||||
unsigned long *start, unsigned long *end,
|
||||
unsigned long addr_unit,
|
||||
unsigned long min_region_sz);
|
||||
|
||||
#endif /* CONFIG_DAMON */
|
||||
|
||||
@@ -3110,6 +3110,7 @@ static bool damon_find_biggest_system_ram(unsigned long *start,
|
||||
* @t: The monitoring target to set the region.
|
||||
* @start: The pointer to the start address of the region.
|
||||
* @end: The pointer to the end address of the region.
|
||||
* @addr_unit: The address unit for the damon_ctx of @t.
|
||||
* @min_region_sz: Minimum region size.
|
||||
*
|
||||
* This function sets the region of @t as requested by @start and @end. If the
|
||||
@@ -3122,7 +3123,7 @@ static bool damon_find_biggest_system_ram(unsigned long *start,
|
||||
*/
|
||||
int damon_set_region_biggest_system_ram_default(struct damon_target *t,
|
||||
unsigned long *start, unsigned long *end,
|
||||
unsigned long min_region_sz)
|
||||
unsigned long addr_unit, unsigned long min_region_sz)
|
||||
{
|
||||
struct damon_addr_range addr_range;
|
||||
|
||||
@@ -3130,12 +3131,12 @@ int damon_set_region_biggest_system_ram_default(struct damon_target *t,
|
||||
return -EINVAL;
|
||||
|
||||
if (!*start && !*end &&
|
||||
!damon_find_biggest_system_ram(start, end, 1))
|
||||
!damon_find_biggest_system_ram(start, end, addr_unit))
|
||||
return -EINVAL;
|
||||
|
||||
addr_range.start = *start;
|
||||
addr_range.end = *end;
|
||||
return damon_set_regions(t, &addr_range, 1, min_region_sz);
|
||||
return damon_set_regions(t, &addr_range, addr_unit, min_region_sz);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -345,6 +345,7 @@ static int damon_lru_sort_apply_parameters(void)
|
||||
err = damon_set_region_biggest_system_ram_default(param_target,
|
||||
&monitor_region_start,
|
||||
&monitor_region_end,
|
||||
param_ctx->addr_unit,
|
||||
param_ctx->min_region_sz);
|
||||
if (err)
|
||||
goto out;
|
||||
|
||||
@@ -251,6 +251,7 @@ static int damon_reclaim_apply_parameters(void)
|
||||
err = damon_set_region_biggest_system_ram_default(param_target,
|
||||
&monitor_region_start,
|
||||
&monitor_region_end,
|
||||
param_ctx->addr_unit,
|
||||
param_ctx->min_region_sz);
|
||||
if (err)
|
||||
goto out;
|
||||
|
||||
Reference in New Issue
Block a user