summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHwankyu Jhun <h.jhun@samsung.com>2020-02-25 10:12:43 +0900
committerHwankyu Jhun <h.jhun@samsung.com>2020-02-25 14:11:47 +0900
commita2cec79f1f79ef0b7498cf1228a3298ab522d963 (patch)
tree9c549b20d82e1fc5d45fb07b4867ff0878bba896
parentb85a9fb38fe47484e558f59295d4919e255e62a2 (diff)
downloadlaunchpad-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.c15
-rw-r--r--src/launchpad/src/launchpad_memory_monitor.c8
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;