From dbe68f1df8cc551755c7165859e45b50548da7b1 Mon Sep 17 00:00:00 2001 From: Unsung Lee Date: Thu, 30 Nov 2023 11:33:08 +0900 Subject: [PATCH] proc-main: Revert update oom score of service app launch Revert update oom score when service app is launched. It is process to revert functionality of resourced 6.0. Change-Id: I3de83bdf43fc906d899d97d9037c359ea06b2c9a Signed-off-by: Unsung Lee --- src/process/proc-main.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/process/proc-main.c b/src/process/proc-main.c index 7eb1f2c..ed4a19e 100644 --- a/src/process/proc-main.c +++ b/src/process/proc-main.c @@ -643,6 +643,16 @@ static void proc_set_default_svc_oomscore } proc_set_service_oomscore(svc->main_pid, oom_score_adj, svc); + + /* The svc->memory.oom_score_adj should have been updated by the + * subroutine of proc_set_service_oomscore(). But at this stage, + * the proc_app_info of service app is not added to the app list. As a + * result the subroutine cannot update proc_app_info of a service app. + * Therefore, manually update oom_score_adj of service app. */ + retval = proc_get_oom_score_adj(svc->main_pid, &oom_score_adj); + if (retval == RESOURCED_ERROR_NONE) + svc->memory.oom_score_adj = oom_score_adj; + } static struct proc_program_info *proc_add_program_list(const int type, @@ -679,6 +689,8 @@ static struct proc_program_info *proc_add_program_list(const int type, ppi->app_list = g_slist_prepend(ppi->app_list, pai); else { ppi->svc_list = g_slist_prepend(ppi->svc_list, pai); + if (!restore) + proc_set_default_svc_oomscore(ppi, pai); } return ppi; } @@ -1776,8 +1788,6 @@ int resourced_proc_status_change(int status, pid_t pid, char *app_name, char *pk if (!ps.pai) break; - proc_set_default_svc_oomscore(ps.pai->program, ps.pai); - resourced_notify(RESOURCED_NOTIFIER_SERVICE_LAUNCH, &ps); if (!(CHECK_BIT(ps.pai->flags, PROC_BGCTRL_APP)) || ps.pai->categories) -- 2.7.4