pass: plugin: Initialize the pass_table and add debug messages
authorChanwoo Choi <cw00.choi@samsung.com>
Thu, 28 Apr 2016 12:00:18 +0000 (21:00 +0900)
committerChanwoo Choi <cw00.choi@samsung.com>
Mon, 16 Jan 2017 11:35:37 +0000 (20:35 +0900)
This patch initializes the pass_table and add debug messages.

Change-Id: Ic9ee59d2f05d309b7f6502c30b14e8482be76d63
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
src/pass/pass-plugin.c

index 8b5ddaf..e54eb46 100644 (file)
@@ -546,16 +546,142 @@ out:
 int get_pass_table(struct pass_policy *policy, char *pass_conf_path)
 {
        int ret;
+       int level;
 
        policy->state = PASS_UNUSED;
        policy->scenario.state = PASS_UNUSED;
 
+       policy->state = 0;
+       policy->gov_type = 0;
+       policy->num_levels = 0;
+       policy->min_level = 0;
+       policy->max_level = 0;
+       policy->num_pass_cpu_stats = 0;
+       policy->pass_cpu_threshold = 0;
+       policy->up_threshold = 0;
+       policy->down_threshold = 0;
+       policy->init_level = 0;
+       policy->level_up_threshold = 0;
+       policy->gov_timeout = 0;
+       policy->last_time = 0;
+
+       for (level = 0; level < policy->num_levels; level++) {
+               policy->pass_table[level].limit_max_freq = 0;
+               policy->pass_table[level].limit_max_cpu = 0;
+               policy->pass_table[level].gov_timeout = 0;
+
+               policy->pass_table[level].num_down_cond = 0;
+               policy->pass_table[level].down_cond[0].freq = 0;
+               policy->pass_table[level].down_cond[0].nr_running = 0;
+               policy->pass_table[level].down_cond[0].busy_cpu = 0;
+
+               policy->pass_table[level].num_up_cond = 0;
+               policy->pass_table[level].up_cond[0].freq = 0;
+               policy->pass_table[level].up_cond[0].nr_running = 0;
+               policy->pass_table[level].up_cond[0].busy_cpu = 0;
+
+               policy->pass_table[level].num_left_cond = 0;
+               policy->pass_table[level].left_cond[0].freq = 0;
+               policy->pass_table[level].left_cond[0].nr_running = 0;
+               policy->pass_table[level].left_cond[0].busy_cpu = 0;
+
+               policy->pass_table[level].num_right_cond = 0;
+               policy->pass_table[level].right_cond[0].freq = 0;
+               policy->pass_table[level].right_cond[0].nr_running = 0;
+               policy->pass_table[level].right_cond[0].busy_cpu = 0;
+       }
+
        ret = config_parse(pass_conf_path, pass_load_config, policy);
        if (ret < 0) {
                _E("cannot parse %s\n", pass_conf_path);
                return -EINVAL;
        }
 
+       /*
+       _I("%d| policy->state : %d\n",
+                       policy->cluster.id, policy->state);
+       _I("%d| policy->gov_type : %d\n",
+                       policy->cluster.id, policy->gov_type);
+       _I("%d| policy->num_levels : %d\n",
+                       policy->cluster.id, policy->num_levels);
+       _I("%d| policy->min_level : %d\n",
+                       policy->cluster.id, policy->min_level);
+       _I("%d| policy->max_level : %d\n",
+                       policy->cluster.id, policy->max_level);
+       _I("%d| policy->num_pass_cpu_stats : %d\n",
+                       policy->cluster.id, policy->num_pass_cpu_stats);
+       _I("%d| policy->pass_cpu_threshold : %d\n",
+                       policy->cluster.id, policy->pass_cpu_threshold);
+       _I("%d| policy->up_threshold : %d\n",
+                       policy->cluster.id, policy->up_threshold);
+       _I("%d| policy->down_threshold : %d\n",
+                       policy->cluster.id, policy->down_threshold);
+       _I("%d| policy->init_level : %d\n",
+                       policy->cluster.id, policy->init_level);
+       _I("%d| policy->level_up_threshold : %d\n",
+                       policy->cluster.id, policy->level_up_threshold);
+       _I("%d| policy->gov_timeout : %f\n",
+                       policy->cluster.id, policy->gov_timeout);
+
+       for (level = 0; level < policy->num_levels; level++) {
+               _I("================================================\n");
+               _I("%d| policy->pass_table[%d].limit_max_freq : %d\n",
+                       policy->cluster.id, level,
+                       policy->pass_table[level].limit_max_freq);
+               _I("%d| policy->pass_table[%d].limit_max_cpu : %d\n",
+                       policy->cluster.id, level,
+                       policy->pass_table[level].limit_max_cpu);
+               _I("%d| policy->pass_table[%d].gov_timeout : %f\n",
+                       policy->cluster.id, level,
+                       policy->pass_table[level].gov_timeout);
+
+               _I("%d| policy->pass_table[%d].num_down_cond : %d\n",
+                       policy->cluster.id, level,
+                       policy->pass_table[level].num_down_cond);
+               _I("%d| policy->pass_table[%d].down_cond[0].freq : %d\n",
+                       policy->cluster.id, level,
+                       policy->pass_table[level].down_cond[0].freq);
+               _I("%d| policy->pass_table[%d].down_cond[0].nr_running : %d\n",
+                       policy->cluster.id, level,
+                       policy->pass_table[level].down_cond[0].nr_running);
+               _I("%d| policy->pass_table[%d].down_cond[0].busy_cpu : %d\n",
+                       policy->cluster.id, level,
+                       policy->pass_table[level].down_cond[0].busy_cpu);
+
+               _I("%d| policy->pass_table[%d].num_up_cond : %d\n",
+                       policy->cluster.id, level,
+                       policy->pass_table[level].num_up_cond);
+               _I("%d| policy->pass_table[%d].up_cond[0].freq : %d\n",
+                       policy->cluster.id, level,
+                       policy->pass_table[level].up_cond[0].freq);
+               _I("%d| policy->pass_table[%d].up_cond[0].nr_running : %d\n",
+                       policy->cluster.id, level,
+                       policy->pass_table[level].up_cond[0].nr_running);
+               _I("%d| policy->pass_table[%d].up_cond[0].busy_cpu : %d\n",
+                       policy->cluster.id, level,
+                       policy->pass_table[level].up_cond[0].busy_cpu);
+
+               _I("%d| policy->pass_table[%d].num_left_cond : %d\n",
+                       policy->cluster.id, level,
+                       policy->pass_table[level].num_left_cond);
+               _I("%d| policy->pass_table[%d].left_cond[0].freq : %d\n",
+                       policy->cluster.id, level, policy->pass_table[level].left_cond[0].freq);
+               _I("%d| policy->pass_table[%d].left_cond[0].nr_running : %d\n",
+                       policy->cluster.id, level, policy->pass_table[level].left_cond[0].nr_running);
+               _I("%d| policy->pass_table[%d].left_cond[0].busy_cpu : %d\n",
+                       policy->cluster.id, level, policy->pass_table[level].left_cond[0].busy_cpu);
+
+               _I("%d| policy->pass_table[%d].num_right_cond : %d\n",
+                       policy->cluster.id, level, policy->pass_table[level].num_right_cond);
+               _I("%d| policy->pass_table[%d].right_cond[0].freq : %d\n",
+                       policy->cluster.id, level, policy->pass_table[level].right_cond[0].freq);
+               _I("%d| policy->pass_table[%d].right_cond[0].nr_running : %d\n",
+                       policy->cluster.id, level, policy->pass_table[level].right_cond[0].nr_running);
+               _I("%d| policy->pass_table[%d].right_cond[0].busy_cpu : %d\n",
+                       policy->cluster.id, level, policy->pass_table[level].right_cond[0].busy_cpu);
+       }
+       */
+
        if (policy->state == PASS_UNUSED)
                return -EINVAL;