diff options
author | Hwankyu Jhun <h.jhun@samsung.com> | 2020-02-25 10:12:43 +0900 |
---|---|---|
committer | Hwankyu Jhun <h.jhun@samsung.com> | 2020-02-25 14:11:47 +0900 |
commit | a2cec79f1f79ef0b7498cf1228a3298ab522d963 (patch) | |
tree | 9c549b20d82e1fc5d45fb07b4867ff0878bba896 | |
parent | b85a9fb38fe47484e558f59295d4919e255e62a2 (diff) | |
download | launchpad-a2cec79f1f79ef0b7498cf1228a3298ab522d963.tar.gz launchpad-a2cec79f1f79ef0b7498cf1228a3298ab522d963.tar.bz2 launchpad-a2cec79f1f79ef0b7498cf1228a3298ab522d963.zip |
Fix memory management feature
Change-Id: Icff15a3b5e9b16e3e3e0572a1cbdb8daa673e2b9
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
-rw-r--r-- | src/launchpad/src/launchpad.c | 15 | ||||
-rw-r--r-- | src/launchpad/src/launchpad_memory_monitor.c | 8 |
2 files changed, 12 insertions, 11 deletions
diff --git a/src/launchpad/src/launchpad.c b/src/launchpad/src/launchpad.c index 487da6e..4d8bbd3 100644 --- a/src/launchpad/src/launchpad.c +++ b/src/launchpad/src/launchpad.c @@ -1958,8 +1958,12 @@ static void __update_slot_state(candidate_process_context_t *cpc, int method, __deactivate_slot(cpc); break; case METHOD_AVAILABLE_MEMORY: + if (force || cpc->activation_method & method) + __activate_slot(cpc); + break; case METHOD_REQUEST: - __update_slot_state(cpc, METHOD_OUT_OF_MEMORY, force); + if (force || cpc->activation_method & method) + __update_slot_state(cpc, METHOD_OUT_OF_MEMORY, force); break; default: __activate_slot(cpc); @@ -2805,16 +2809,17 @@ static int __memory_monitor_cb(bool low_memory, void *user_data) { candidate_process_context_t *cpc; + _W("low memory(%s)", low_memory ? "true" : "false"); cpc = __get_running_slot(false); if (!cpc && low_memory) return -1; - __update_slots_pss(); + if (low_memory) { + __update_slots_pss(); - candidate_slot_list = g_list_sort(candidate_slot_list, __compare_slot); + candidate_slot_list = g_list_sort(candidate_slot_list, + __compare_slot); - _W("low memory(%s)", low_memory ? "true" : "false"); - if (low_memory) { do { __pause_last_running_slot(false); diff --git a/src/launchpad/src/launchpad_memory_monitor.c b/src/launchpad/src/launchpad_memory_monitor.c index c6e0d2c..dacf3ab 100644 --- a/src/launchpad/src/launchpad_memory_monitor.c +++ b/src/launchpad/src/launchpad_memory_monitor.c @@ -57,15 +57,11 @@ static gboolean __memory_check_cb(gpointer data) } if (__monitor.callback) { - ret = __monitor.callback(mem_used_ratio > __monitor.threshold, + __monitor.callback(mem_used_ratio > __monitor.threshold, __monitor.user_data); - if (ret == 0) { - _W("Reset interval"); - __monitor.interval = __monitor.base_interval; - } } - _W("previous used ratio(%u), current used ratio(%u)", + _D("previous used ratio(%u), current used ratio(%u)", __monitor.prev_used_ratio, mem_used_ratio); __monitor.prev_used_ratio = mem_used_ratio; |