Unverified Commit b7dacff6 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!14322 back some mainline patches for damon

Merge Pull Request from: @ci-robot 
 
PR sync from: Ze Zuo <zuoze1@huawei.com>
https://mailweb.openeuler.org/hyperkitty/list/kernel@openeuler.org/message/YKBTY4KAVMFPWIY27XHLAFTABNYS7IMQ/ 
back some mainline patches for damon

Alex Rusuf (1):
  mm/damon/core: fix return value from damos_wmark_metric_value

Huan Yang (1):
  mm/damon/core: remove unnecessary si_meminfo invoke.


-- 
2.25.1
 
https://gitee.com/src-openeuler/kernel/issues/IBDTU7 
 
Link:https://gitee.com/openeuler/kernel/pulls/14322

 

Reviewed-by: default avatarKefeng Wang <wangkefeng.wang@huawei.com>
Signed-off-by: default avatarZhang Peng <zhangpeng362@huawei.com>
parents e53a23ef c5b52def
Loading
Loading
Loading
Loading
+6 −7
Original line number Diff line number Diff line
@@ -1259,14 +1259,14 @@ static bool kdamond_need_stop(struct damon_ctx *ctx)
	return true;
}

static unsigned long damos_wmark_metric_value(enum damos_wmark_metric metric)
static int damos_get_wmark_metric_value(enum damos_wmark_metric metric,
					unsigned long *metric_value)
{
	struct sysinfo i;

	switch (metric) {
	case DAMOS_WMARK_FREE_MEM_RATE:
		si_meminfo(&i);
		return i.freeram * 1000 / i.totalram;
		*metric_value = global_zone_page_state(NR_FREE_PAGES) * 1000 /
		       totalram_pages();
		return 0;
	default:
		break;
	}
@@ -1281,10 +1281,9 @@ static unsigned long damos_wmark_wait_us(struct damos *scheme)
{
	unsigned long metric;

	if (scheme->wmarks.metric == DAMOS_WMARK_NONE)
	if (damos_get_wmark_metric_value(scheme->wmarks.metric, &metric))
		return 0;

	metric = damos_wmark_metric_value(scheme->wmarks.metric);
	/* higher than high watermark or lower than low watermark */
	if (metric > scheme->wmarks.high || scheme->wmarks.low > metric) {
		if (scheme->wmarks.activated)