etmem/0031-remove-node_watermark.patch
YangXin ce6533c4bd Update etmem.
Signed-off-by: YangXin <245051644@qq.com>
2021-09-30 22:57:41 +08:00

132 lines
3.8 KiB
Diff

From 57861ad98668370ef2b8de094ba2b5bfed4f9bac Mon Sep 17 00:00:00 2001
From: Kemeng Shi <shikemeng@huawei.com>
Date: Wed, 12 May 2021 15:40:17 +0800
Subject: [PATCH 31/50] remove node_watermark
Signed-off-by: Kemeng Shi <shikemeng@huawei.com>
---
src/etmemd_src/etmemd_cslide.c | 79 ----------------------------------
1 file changed, 79 deletions(-)
diff --git a/src/etmemd_src/etmemd_cslide.c b/src/etmemd_src/etmemd_cslide.c
index 6f609b8..745dbcc 100644
--- a/src/etmemd_src/etmemd_cslide.c
+++ b/src/etmemd_src/etmemd_cslide.c
@@ -143,7 +143,6 @@ struct cslide_params_factory {
struct cslide_eng_params {
struct sys_mem mem;
struct node_map node_map;
- int node_watermark;
int hot_threshold;
int hot_reserve; // in MB
int mig_quota; // in MB
@@ -1463,65 +1462,6 @@ static int cslide_do_migrate(struct cslide_eng_params *eng_params)
return 0;
}
-static bool is_node_empty(struct node_mem *mem)
-{
- return mem->huge_free == mem->huge_total;
-}
-
-static bool is_all_cold_node_empty(struct cslide_eng_params *eng_params)
-{
- struct sys_mem *mem = &eng_params->mem;
- struct node_pair *pair = NULL;
- int i;
-
- for (i = 0; i < eng_params->node_map.cur_num; i++) {
- pair = &eng_params->node_map.pair[i];
- if (!is_node_empty(&mem->node_mem[pair->cold_node])) {
- return false;
- }
- }
- return true;
-}
-
-static inline bool is_busy(int node_watermark, long long total, long long free)
-{
- return free * TO_PCT / total < node_watermark;
-}
-
-static bool is_node_busy(int node_watermark, struct node_mem *mem)
-{
- return is_busy(node_watermark, mem->huge_total, mem->huge_free);
-}
-
-static bool is_any_hot_node_busy(struct cslide_eng_params *eng_params)
-{
- struct sys_mem *mem = &eng_params->mem;
- struct node_pair *pair = NULL;
- int node_watermark = eng_params->node_watermark;
- int i;
-
- for (i = 0; i < eng_params->node_map.cur_num; i++) {
- pair = &eng_params->node_map.pair[i];
- if (is_node_busy(node_watermark, &mem->node_mem[pair->hot_node])) {
- return true;
- }
- }
-
- return false;
-}
-
-static bool need_migrate(struct cslide_eng_params *eng_params)
-{
- if (!is_all_cold_node_empty(eng_params)) {
- return true;
- }
- if (is_any_hot_node_busy(eng_params)) {
- return true;
- }
-
- return false;
-}
-
static void init_host_pages_info(struct cslide_eng_params *eng_params)
{
int n;
@@ -1692,11 +1632,6 @@ static void *cslide_main(void *arg)
goto next;
}
- if (!need_migrate(eng_params)) {
- etmemd_log(ETMEMD_LOG_DEBUG, "no need to migrate\n");
- goto next;
- }
-
if (cslide_do_migrate(eng_params) != 0) {
etmemd_log(ETMEMD_LOG_ERR, "cslide_do_migrate fail\n");
goto next;
@@ -2055,19 +1990,6 @@ err:
return ret;
}
-static int fill_migrate_watermark(void *obj, void *val)
-{
- struct cslide_eng_params *params = (struct cslide_eng_params *)obj;
- int wm = parse_to_int(val);
-
- if (wm < MIN_WM || wm > MAX_WM) {
- etmemd_log(ETMEMD_LOG_ERR, "migrate watermark %d invalid\n", wm);
- return -1;
- }
- params->node_watermark = wm;
- return 0;
-}
-
static int fill_hot_threshold(void *obj, void *val)
{
struct cslide_eng_params *params = (struct cslide_eng_params *)obj;
@@ -2112,7 +2034,6 @@ static int fill_mig_quota(void *obj, void *val)
static struct config_item cslide_eng_config_items[] = {
{"node_pair", STR_VAL, fill_node_pair, false},
- {"node_watermark", INT_VAL, fill_migrate_watermark, false},
{"hot_threshold", INT_VAL, fill_hot_threshold, false},
{"node_mig_quota", INT_VAL, fill_mig_quota, false},
{"node_hot_reserve", INT_VAL, fill_hot_reserve, false},
--
2.27.0