Replace CPU power consumption parameters 20/225120/3
authorKichan Kwon <k_c.kwon@samsung.com>
Mon, 17 Feb 2020 11:01:34 +0000 (20:01 +0900)
committerKichan Kwon <k_c.kwon@samsung.com>
Wed, 4 Mar 2020 06:00:57 +0000 (15:00 +0900)
- Use utime and stime instead of fg and bg time

Change-Id: I6ada2765f0884d41397480f6cc28e89343d0ffeb
Signed-off-by: Kichan Kwon <k_c.kwon@samsung.com>
config/bm_power_profile_params.json
include/bm_plugin_interface.h
src/bm_config_parser.c
src/bm_power_engine.c

index 00b42f6..7301a53 100644 (file)
@@ -40,8 +40,8 @@
                "p_hrm_inuse": 50
        },
        "cpu": {
-               "p_cpu_fg": 60,
-               "p_cpu_bg": 61
+               "p_cpu_user": 60,
+               "p_cpu_system": 61
        },
        "battery": {
                "p_battery": 500000
index 7afe7ab..451232a 100644 (file)
@@ -109,9 +109,8 @@ typedef struct {
  * structure for "cpu" feature data.
  */
 typedef struct {
-       uint cpuTicks;                  /**< CPU Usage during the session */
-       uint cpuTimeBackground;         /**< Time spent in Background State average operating frequency will be used to calculate the power */
-       uint cpuTimeForeground;         /**< Time spent in Foreground state average operating frequency will be used to calculate the power */
+       uint utime;             /**< Total time in milliseconds during which CPU runs in user mode */
+       uint stime;             /**< Total time in milliseconds during which CPU runs in kernel mode */
        GSList *atm_list;               /**< application time map('app_time_map_st1') list for all active applications between start & stop */
        GSList *cpu_data_list;          /**< list of nodes of 'bm_cpu_st' for next consecutive sessions */
 } bm_cpu_st;
index 1c7bdaa..0d5112e 100644 (file)
@@ -461,7 +461,7 @@ END:
 }
 #endif /* DISABLE_FEATURE_DATA_FROM_GPS_HRM */
 
-int bm_get_cpu_power_params(int *fg, int *bg)
+int bm_get_cpu_power_params(int *user, int *system)
 {
        ENTER;
 
@@ -470,8 +470,8 @@ int bm_get_cpu_power_params(int *fg, int *bg)
        char *contents = NULL;
        json_object *jmain = NULL, *jint = NULL, *jvalue = NULL;
 
-       BM_CHECK_INPUT_PARAM(fg);
-       BM_CHECK_INPUT_PARAM(bg);
+       BM_CHECK_INPUT_PARAM(user);
+       BM_CHECK_INPUT_PARAM(system);
 
        contents = bm_read_content_from_file(BATTERY_MONITOR_CONFIG_FILE_PATH);
 
@@ -487,17 +487,17 @@ int bm_get_cpu_power_params(int *fg, int *bg)
        if (!jvalue)
                goto END;
 
-       json_object_object_get_ex(jvalue, "p_cpu_fg", &jint);
+       json_object_object_get_ex(jvalue, "p_cpu_user", &jint);
        if (!jint)
                goto END;
-       *fg = json_object_get_int(jint);
+       *user = json_object_get_int(jint);
 
-       json_object_object_get_ex(jvalue, "p_cpu_bg", &jint);
+       json_object_object_get_ex(jvalue, "p_cpu_system", &jint);
        if (!jint)
                goto END;
-       *bg = json_object_get_int(jint);
+       *system = json_object_get_int(jint);
 
-       _DBG("cpu power params - fg[%d], bg[%d]", *fg, *bg);
+       _DBG("cpu power params - user[%d], system[%d]", *user, *system);
 
        ret = BATTERY_MONITOR_ERROR_NONE;
 END:
index 5c1e07a..33a0959 100644 (file)
@@ -816,14 +816,14 @@ int bm_cpu_calc_power_and_commit(bm_cpu_st *handle, bool mode)
        /* creating hash-map with (key, value) = (app-id, data) */
        GHashTable *hash = g_hash_table_new_full(g_str_hash, g_str_equal, bm_data_free, bm_atm_st1_free);
 
-       int fgTime = 0;
-       int bgTime = 0;
+       int uTime = 0;
+       int sTime = 0;
        int onTime = 0;
        /* iterating over list for data accumulation */
        for (cpu_data_iterator = handle->cpu_data_list; cpu_data_iterator; cpu_data_iterator = cpu_data_iterator->next) {
                bm_cpu_st *datalistnode = (bm_cpu_st *)(cpu_data_iterator->data);
-               fgTime += datalistnode->cpuTimeForeground;
-               bgTime += datalistnode->cpuTimeBackground;
+               uTime += datalistnode->utime;
+               sTime += datalistnode->stime;
                cpu_atm_iterator = datalistnode->atm_list;
                for ( ; cpu_atm_iterator; cpu_atm_iterator = cpu_atm_iterator->next) {
                        app_time_map_st1 *cpu_atm_node = (app_time_map_st1 *)cpu_atm_iterator->data;
@@ -848,20 +848,20 @@ int bm_cpu_calc_power_and_commit(bm_cpu_st *handle, bool mode)
                }
        }
        /* Read standard Rated Values from Device Spec File/Power Profile File */
-       int sP_power_cpu_fg = 0, sP_power_cpu_bg = 0;
+       int sP_power_cpu_user = 0, sP_power_cpu_system = 0;
 
-       ret_val = bm_get_cpu_power_params(&sP_power_cpu_fg, &sP_power_cpu_bg);
+       ret_val = bm_get_cpu_power_params(&sP_power_cpu_user, &sP_power_cpu_system);
        if (ret_val != BATTERY_MONITOR_ERROR_NONE)
                _ERR("failed to get cpu power params");
 
-       _DBG("received cpu power params - fg[%d]\n, bg[%d]\n", sP_power_cpu_fg, sP_power_cpu_bg);
+       _DBG("received cpu power params - user[%d]\n, system[%d]\n", sP_power_cpu_user, sP_power_cpu_system);
        /* CPU power consumption Level - 1 at the Resource Level */
-       int P_power_cpu = 0, P_power_fg = 0, P_power_bg = 0;
-       P_power_fg = ((sP_power_cpu_fg * fgTime));
-       P_power_bg = ((sP_power_cpu_bg * bgTime));
-       P_power_cpu = P_power_bg + P_power_fg;
+       int P_power_cpu = 0, P_power_user = 0, P_power_system = 0;
+       P_power_user = ((sP_power_cpu_user * uTime));
+       P_power_system = ((sP_power_cpu_system * sTime));
+       P_power_cpu = P_power_user + P_power_system;
 
-       _DBG("Calculated Power for CPU P_power_cpu (%d),  P_power_bg (%d), P_power_fg (%d)", P_power_cpu, P_power_bg, P_power_fg);
+       _DBG("Calculated Power for CPU P_power_cpu (%d),  P_power_user (%d), P_power_system (%d)", P_power_cpu, P_power_user, P_power_system);
        /* CPU power consumption Level - 2 at the Application Level */
        GHashTableIter iter;
        gpointer key, value;