From 9e95c01c49e577df989ccbe8a0ddd131136d9aad Mon Sep 17 00:00:00 2001 From: Kichan Kwon Date: Mon, 25 Jul 2016 15:51:07 +0900 Subject: [PATCH] common : remove proc_status.appid. - This variable is overlapped with proc_status.pai->appid Change-Id: Icd36586ab27891eb3692807b1e943b251d7e0e6d Signed-off-by: Kichan Kwon --- src/common/proc-common.h | 1 - src/cpu/cpu.c | 35 +++++++++++++++++++++----------- src/freezer/libsystem-freezer.so.arm64 | Bin 33696 -> 33696 bytes src/freezer/libsystem-freezer.so.armv7l | Bin 22732 -> 22732 bytes src/freezer/libsystem-freezer.so.i586 | Bin 32200 -> 32200 bytes src/freezer/libsystem-freezer.so.x86_64 | Bin 33352 -> 33352 bytes src/heart/decision.c | 8 ++++---- src/heart/heart-cpu.c | 1 - src/proc-stat/proc-main.c | 13 ++++-------- src/proc-stat/proc-monitor.c | 1 - src/proc-stat/proc-process.c | 2 -- 11 files changed, 31 insertions(+), 30 deletions(-) diff --git a/src/common/proc-common.h b/src/common/proc-common.h index 72d46be..5665dad 100644 --- a/src/common/proc-common.h +++ b/src/common/proc-common.h @@ -60,7 +60,6 @@ struct child_pid { struct proc_status { pid_t pid; - char* appid; struct proc_app_info *pai; }; diff --git a/src/cpu/cpu.c b/src/cpu/cpu.c index fd28340..6659b41 100644 --- a/src/cpu/cpu.c +++ b/src/cpu/cpu.c @@ -217,10 +217,10 @@ static int load_cpu_config(struct parse_result *result, void *user_data) static int cpu_service_state(void *data) { struct proc_status *ps = (struct proc_status *)data; - struct proc_app_info *pai = ps->pai; + assert(ps && ps->pai); - _D("service launch: pid = %d, appname = %s", ps->pid, ps->appid); - if (pai && CHECK_BIT(pai->categories, PROC_BG_SYSTEM)) + _D("service launch: pid = %d, appname = %s", ps->pid, ps->pai->appid); + if (ps->pai && CHECK_BIT(ps->pai->categories, PROC_BG_SYSTEM)) return RESOURCED_ERROR_NONE; else cpu_move_cgroup(ps->pid, CPU_BACKGROUND_GROUP); @@ -230,10 +230,10 @@ static int cpu_service_state(void *data) static int cpu_widget_state(void *data) { struct proc_status *ps = (struct proc_status *)data; - struct proc_app_info *pai = ps->pai; + assert(ps && ps->pai); - _D("widget background: pid = %d, appname = %s", ps->pid, ps->appid); - if (pai && CHECK_BIT(pai->flags, PROC_DOWNLOADAPP)) + _D("widget background: pid = %d, appname = %s", ps->pid, ps->pai->appid); + if (ps->pai && CHECK_BIT(ps->pai->flags, PROC_DOWNLOADAPP)) cpu_move_cgroup(ps->pid, CPU_BACKGROUND_GROUP); return RESOURCED_ERROR_NONE; } @@ -242,7 +242,9 @@ static int cpu_foreground_state(void *data) { struct proc_status *ps = (struct proc_status *)data; int pri; - _D("app foreground: pid = %d, appname = %s", ps->pid, ps->appid); + + assert(ps && ps->pai); + _D("app foreground: pid = %d, appname = %s", ps->pid, ps->pai->appid); pri = getpriority(PRIO_PROCESS, ps->pid); if (pri == -1 || pri > CPU_DEFAULT_PRI) setpriority(PRIO_PGRP, ps->pid, CPU_DEFAULT_PRI); @@ -254,7 +256,9 @@ static int cpu_foreground_state(void *data) static int cpu_background_state(void *data) { struct proc_status *ps = (struct proc_status *)data; - _D("app background: pid = %d, appname = %s", ps->pid, ps->appid); + assert(ps && ps->pai); + + _D("app background: pid = %d, appname = %s", ps->pid, ps->pai->appid); setpriority(PRIO_PGRP, ps->pid, CPU_BACKGROUND_PRI); cpu_move_cgroup(ps->pid, CPU_BACKGROUND_GROUP); return RESOURCED_ERROR_NONE; @@ -263,9 +267,11 @@ static int cpu_background_state(void *data) static int cpu_restrict_state(void *data) { struct proc_status *ps = (struct proc_status *)data; - _D("app suspend: pid = %d, appname = %s", ps->pid, ps->appid); + assert(ps && ps->pai); + if (CHECK_BIT(ps->pai->categories, PROC_BG_MEDIA)) return RESOURCED_ERROR_NONE; + _D("app suspend: pid = %d, appname = %s", ps->pid, ps->pai->appid); cpu_move_cgroup(ps->pid, CPU_CPUQUOTA_GROUP); return RESOURCED_ERROR_NONE; } @@ -274,7 +280,9 @@ static int cpu_active_state(void *data) { struct proc_status *ps = (struct proc_status *)data; int oom_score_adj = 0, ret; - _D("app active : pid = %d, appname = %s", ps->pid, ps->appid); + assert(ps && ps->pai); + + _D("app active : pid = %d, appname = %s", ps->pid, ps->pai->appid); ret = proc_get_oom_score_adj(ps->pid, &oom_score_adj); if (ret || oom_score_adj < OOMADJ_PREVIOUS_DEFAULT) return RESOURCED_ERROR_NONE; @@ -285,12 +293,12 @@ static int cpu_active_state(void *data) static int cpu_prelaunch_state(void *data) { struct proc_status *ps = (struct proc_status *)data; - struct proc_app_info *pai = ps->pai; int i = 0; + assert(ps && ps->pai); if (!cpu_predefined_timer) return RESOURCED_ERROR_NONE; - if (pai->type & PROC_WEBAPP) { + if (ps->pai->type & PROC_WEBAPP) { for (i = 0; i < def_list.num; i++) { if (def_list.control[i].type == SET_WRT) { cpu_move_cgroup(def_list.control[i].pid, CPU_DEFAULT_CGROUP); @@ -306,6 +314,7 @@ static int cpu_prelaunch_state(void *data) static int cpu_system_state(void *data) { struct proc_status *ps = (struct proc_status *)data; + assert(ps && ps->pai); _D("system service : pid = %d", ps->pid); cpu_move_cgroup(ps->pid, CPU_BACKGROUND_GROUP); @@ -315,6 +324,8 @@ static int cpu_system_state(void *data) static int cpu_terminatestart_state(void *data) { struct proc_status *ps = (struct proc_status *)data; + assert(ps && ps->pai); + cpu_move_cgroup(ps->pid, CPU_DEFAULT_CGROUP); return RESOURCED_ERROR_NONE; } diff --git a/src/freezer/libsystem-freezer.so.arm64 b/src/freezer/libsystem-freezer.so.arm64 index e9c012da42b7122e877a2c2d1bae7043306bfd59..1c1e96ca58882269b38d583da9a13c7374b2f0fe 100755 GIT binary patch delta 64 zcmZ3`&a|MNX~P0Wk#zx&6J!$V@}+mOpXF+N;VqUelD>Hhqo*Px+vI;r?m*H_S)Gw( UbDnZp1dDR-x_6sjRPSI101CPn{Qv*} delta 64 zcmV-G0KfmBhXSC70s7n0k8xC6s*raGP6gkxWC2|ZtH98gFoTn(6bl;h7|;%Xdq~lq82C@ pp=cmzz331?0PxSd0KZy10RT9)3QL8v;TD5D1g26h$+KuvWCbD1BY*$^ diff --git a/src/freezer/libsystem-freezer.so.i586 b/src/freezer/libsystem-freezer.so.i586 index a5fe9efbd68e96832219c06bad34e2b5af4c4328..cb696e7b96e0f086ef3bf8df08c0e5babfe83266 100755 GIT binary patch delta 63 zcmX@{oAJbN#tkftBCq-#1v2+d`Wo$fy>1;#3GX>kv&zj9jB(E}%$826up}`6OI8+yy delta 63 zcmX@{oAJbN#tkftBK7C~vT#Pl#KxIS{JFPh#huh6;Ub$Q7~{klIVP7&_yft~5*Cac Tn#@c{y=hyk`5!s U=7UP7!&w%DE@9d{p=t*^03%ly{r~^~ delta 64 zcmX@n!gQjAX~P0WkyqbzKB(NfI-kEXNYcX9(8jRQpL_Eb#(o7xfypjP{y=hyk`AN5 U=7UP7!&#nfZOYs{p=t*^07APN9smFU diff --git a/src/heart/decision.c b/src/heart/decision.c index 3a66277..6a35da1 100644 --- a/src/heart/decision.c +++ b/src/heart/decision.c @@ -403,7 +403,7 @@ static int decision_app_terminated_cb(void *data) pthread_mutex_lock(&decision_list_mutex); - dt = decision_table_find(ps->appid, ps->pai->program->pkgname); + dt = decision_table_find(ps->pai->appid, ps->pai->program->pkgname); if (!dt) { pthread_mutex_unlock(&decision_list_mutex); @@ -412,12 +412,12 @@ static int decision_app_terminated_cb(void *data) ret = decision_table_write(dt); if (ret < 0) - _D("decision table write failed for %s", ps->appid); + _D("decision table write failed for %s", ps->pai->appid); - g_hash_table_remove(decision_app_list, (gconstpointer)ps->appid); + g_hash_table_remove(decision_app_list, (gconstpointer)ps->pai->appid); pthread_mutex_unlock(&decision_list_mutex); - _I("%s table is removed from decision table", ps->appid); + _I("%s table is removed from decision table", ps->pai->appid); return RESOURCED_ERROR_NONE; } diff --git a/src/heart/heart-cpu.c b/src/heart/heart-cpu.c index 88afe8e..46da071 100644 --- a/src/heart/heart-cpu.c +++ b/src/heart/heart-cpu.c @@ -273,7 +273,6 @@ static int heart_cpu_update_app_list(void *data) if (!pai->ai) continue; ps.pid = pai->main_pid; - ps.appid = pai->appid; ps.pai = pai; heart_cpu_update_state(&ps); } diff --git a/src/proc-stat/proc-main.c b/src/proc-stat/proc-main.c index 1f29e34..f70dc62 100644 --- a/src/proc-stat/proc-main.c +++ b/src/proc-stat/proc-main.c @@ -782,10 +782,8 @@ void proc_set_group(pid_t ownerpid, pid_t childpid, char *pkgname) ps.pid = owner->main_pid; proc_set_oom_score_adj(owner->main_pid, child_oom); } else { - if (owner_oom <= OOMADJ_BACKGRD_LOCKED) { + if (owner_oom <= OOMADJ_BACKGRD_LOCKED) ps.pid = childpid; - ps.appid = owner->appid; - } proc_set_oom_score_adj(childpid, owner_oom); } resourced_notify(RESOURCED_NOTIFIER_APP_WAKEUP, &ps); @@ -873,7 +871,6 @@ int resourced_proc_status_change(int status, pid_t pid, char *app_name, char *pk } ps.pid = pid; - ps.appid = app_name; ps.pai = NULL; switch (status) { case PROC_CGROUP_SET_FOREGRD: @@ -897,10 +894,8 @@ int resourced_proc_status_change(int status, pid_t pid, char *app_name, char *pk return RESOURCED_ERROR_NO_DATA; notitype = RESOURCED_NOTIFIER_APP_FOREGRD; } - if (ps.pai) { - ps.appid = ps.pai->appid; + if (ps.pai) resourced_notify(notitype, &ps); - } if (proc_get_freezer_status() == CGROUP_FREEZER_DISABLED) break; @@ -1028,6 +1023,8 @@ int resourced_proc_status_change(int status, pid_t pid, char *app_name, char *pk break; ps.pai = find_app_info(pid); + if (!ps.pai) + proc_add_app_list(apptype, pid, app_name, pkg_name); ps.pid = pid; resourced_notify(RESOURCED_NOTIFIER_APP_WAKEUP, &ps); } @@ -1058,8 +1055,6 @@ int resourced_proc_status_change(int status, pid_t pid, char *app_name, char *pk break; case PROC_CGROUP_SET_TERMINATED: ps.pai = find_app_info(pid); - if (ps.pai) - ps.appid = ps.pai->appid; resourced_notify(RESOURCED_NOTIFIER_APP_TERMINATED, &ps); proc_remove_app_list(pid); break; diff --git a/src/proc-stat/proc-monitor.c b/src/proc-stat/proc-monitor.c index 34a86ff..b2b0cd9 100644 --- a/src/proc-stat/proc-monitor.c +++ b/src/proc-stat/proc-monitor.c @@ -613,7 +613,6 @@ static void proc_dbus_prelaunch_signal_handler(void *data, DBusMessage *msg) pai->flags = flags; pai->type = PROC_TYPE_READY; pai->categories = categories; - ps.appid = appid; ps.pai = pai; resourced_notify(RESOURCED_NOTIFIER_APP_PRELAUNCH, &ps); lowmem_proactive_oom_killer(flags, appid); diff --git a/src/proc-stat/proc-process.c b/src/proc-stat/proc-process.c index b019c14..6149ae7 100644 --- a/src/proc-stat/proc-process.c +++ b/src/proc-stat/proc-process.c @@ -118,7 +118,6 @@ static int proc_backgrd_manage(int currentpid, int active, int oom_score_adj) } ps.pid = currentpid; - ps.appid = pai->appid; ps.pai = pai; if (active) flag = RESOURCED_NOTIFIER_APP_BACKGRD_ACTIVE; @@ -461,7 +460,6 @@ int proc_set_inactive(int pid, int oom_score_adj) if (pai) { struct proc_status ps = {0}; ps.pid = pid; - ps.appid = pai->appid;; ps.pai = pai; pai->lru_state = PROC_BACKGROUND; ret = proc_set_oom_score_adj(pid, OOMADJ_BACKGRD_UNLOCKED); -- 2.7.4