From: Vitaliy Cherepanov Date: Fri, 17 Jul 2015 15:43:57 +0000 (+0300) Subject: [FIX] CPU load value X-Git-Tag: submit/tizen/20151105.065919~43 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=746d0386130dd772b1862be86c80f08773345b20;p=platform%2Fcore%2Fsystem%2Fswap-manager.git [FIX] CPU load value Change-Id: Ica9ecf08f8242c4f87953536f42c5184a4564b6f Signed-off-by: Vitaliy Cherepanov --- diff --git a/daemon/sys_stat.c b/daemon/sys_stat.c index e753fe8..0b786b8 100644 --- a/daemon/sys_stat.c +++ b/daemon/sys_stat.c @@ -2276,6 +2276,8 @@ struct msg_data_t *pack_system_info(struct system_info_t *sys_info) int i = 0; int thread_count = 0; char *thread_count_p; + float cpu_load_tmp_app = 0.0; + float cpu_load_tmp = 0.0; msg = malloc(MSG_DATA_HDR_LEN + len); if (!msg) { @@ -2296,10 +2298,36 @@ struct msg_data_t *pack_system_info(struct system_info_t *sys_info) pack_float(p, 0.0); } - //CPU load + /* total app load */ + cpu_load_tmp_app = 0.0; + if (IS_OPT_SET(FL_SYSTEM_PROCESS)) { + proc = inst_prochead; + for (i = 0; i < sys_info->count_of_inst_processes; i++) + cpu_load_tmp += proc->proc_data.cpu_load; + } + + if (IS_OPT_SET(FL_SYSTEM_PROCESSES_LOAD)) { + proc = other_prochead; + for (i = 0; i < sys_info->count_of_other_processes; i++) + cpu_load_tmp += proc->proc_data.cpu_load; + } + + /* total cpu load */ + cpu_load_tmp = 0.0; + for (i = 0; i < num_of_cpu; i++) { + cpu_load_tmp += sys_info->cpu_load[i]; + } + + /* calculate correction value */ + if (cpu_load_tmp_app > cpu_load_tmp) + cpu_load_tmp = (cpu_load_tmp_app - cpu_load_tmp) / num_of_cpu; + else + cpu_load_tmp = 0.0; + for (i = 0; i < num_of_cpu; i++) { if (sys_info->cpu_load) - pack_float(p, sys_info->cpu_load[i]); + pack_float(p, sys_info->cpu_load[i] + + cpu_load_tmp); else pack_float(p, 0.0); }