return level;
if (up_count * 100 >= num_pass_gov * up_threshold) {
- level += policy->cpufreq.num_nr_cpus;
+ level += policy->freq.num_nr_cpus;
if (level > policy->max_level)
- level -= policy->cpufreq.num_nr_cpus;
+ level -= policy->freq.num_nr_cpus;
} else if (down_count * 100 >= num_pass_gov * down_threshold) {
- level -= policy->cpufreq.num_nr_cpus;
+ level -= policy->freq.num_nr_cpus;
}
if (right_count * 100 >= num_pass_gov * up_threshold) {
if (online > hotplug->max_online)
online = hotplug->max_online;
- for (i = 0 ; i < policy->cpufreq.num_nr_cpus; i++) {
+ for (i = 0 ; i < policy->freq.num_nr_cpus; i++) {
if (i < online) {
pass_set_online_state(pass_res, hotplug->sequence[i],
PASS_CPU_UP);
return;
policy->hotplug->online = table[level].limit_min_cpu;
- policy->hotplug->max_online = policy->cpufreq.num_nr_cpus;
+ policy->hotplug->max_online = policy->freq.num_nr_cpus;
}
static int pass_hotplug_dummy_governor(struct pass_policy *policy)
sum_runnable_load = 0;
/* Calculate the number of busy cpu */
- for (j = 0; j < policy->cpufreq.num_nr_cpus; j++) {
+ for (j = 0; j < policy->freq.num_nr_cpus; j++) {
load = stats[i].load[j];
sum_load += stats[i].load[j];
sum_runnable_load += stats[i].runnable_load[j];
cpu_threshold =
(unsigned int)(cur_freq * load)
- / policy->cpufreq.max_freq;
+ / policy->freq.max_freq;
if (load == 100
|| cpu_threshold >= policy->pass_cpu_threshold)
busy_cpu++;
}
/*
- * pass_governor_change_level_scope - Change the scope of cpufreq scaling
+ * pass_governor_change_level_scope - Change the scope of frequency scaling
*
* @policy: the instance of struct pass_policy
- * @min_level: the minimum level of cpufreq scaling
- * @max_level: the maximum level of cpufreq scaling
+ * @min_level: the minimum level of frequency scaling
+ * @max_level: the maximum level of frequency scaling
*/
int pass_governor_change_level_scope(struct pass_policy *policy,
int min_level, int max_level)
&& max_level == policy->max_level)
return 0;
- /* Change minimum/maximum level of cpufreq scaling */
+ /* Change minimum/maximum level of frequency scaling */
policy->min_level = min_level;
policy->max_level = max_level;
if (ret < 0)
return -EIO;
- for (j = 0; j < policy->cpufreq.num_nr_cpus; j++) {
+ for (j = 0; j < policy->freq.num_nr_cpus; j++) {
ret = fscanf(fp_stats, "%d", &stats[i].load[j]);
if (ret < 0)
return -EIO;
if (max_cpu < policy->pass_table[i].limit_min_cpu)
max_cpu = policy->pass_table[i].limit_min_cpu;
}
- policy->cpufreq.max_freq = max_freq;
- policy->cpufreq.num_nr_cpus = max_cpu;
+ policy->freq.max_freq = max_freq;
+ policy->freq.num_nr_cpus = max_cpu;
/* Allocate memory according to the number of data and cpu */
policy->pass_cpu_stats = calloc(policy->num_pass_cpu_stats,
for (i = 0; i < policy->num_pass_cpu_stats; i++) {
policy->pass_cpu_stats[i].load =
- calloc(policy->cpufreq.num_nr_cpus, sizeof(unsigned int));
+ calloc(policy->freq.num_nr_cpus, sizeof(unsigned int));
policy->pass_cpu_stats[i].nr_running =
- calloc(policy->cpufreq.num_nr_cpus, sizeof(unsigned int));
+ calloc(policy->freq.num_nr_cpus, sizeof(unsigned int));
policy->pass_cpu_stats[i].runnable_load =
- calloc(policy->cpufreq.num_nr_cpus, sizeof(unsigned int));
+ calloc(policy->freq.num_nr_cpus, sizeof(unsigned int));
}
/* Get the instance of PASS governor */
if (!policy->hotplug) {
_E("cannot get the instance of PASS hotplug");
} else {
- policy->hotplug->sequence = calloc(policy->cpufreq.num_nr_cpus,
+ policy->hotplug->sequence = calloc(policy->freq.num_nr_cpus,
sizeof(int));
- for (i = 0; i < policy->cpufreq.num_nr_cpus; i++)
+ for (i = 0; i < policy->freq.num_nr_cpus; i++)
policy->hotplug->sequence[i] = i + pass_res->cdata.cpu;
}
};
-struct pass_cpufreq_policy {
+struct pass_freq_policy {
unsigned int max_freq;
unsigned int num_nr_cpus;
unsigned int sampling_rate;
int64_t last_time;
- struct pass_cpufreq_policy cpufreq;
+ struct pass_freq_policy freq;
struct pass_scenario_policy scenario;
struct pass_table *pass_table;