cpupowerutils: utils - ConfigStyle bugfixes
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
This commit is contained in:
parent
2cd005cac6
commit
a1ce5ba2b7
@ -48,7 +48,7 @@ static unsigned int count_cpus(void)
|
|||||||
fclose(fp);
|
fclose(fp);
|
||||||
|
|
||||||
/* cpu count starts from 0, on error return 1 (UP) */
|
/* cpu count starts from 0, on error return 1 (UP) */
|
||||||
return (ret+1);
|
return ret + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -75,7 +75,8 @@ static void proc_cpufreq_output(void)
|
|||||||
max_pctg = (policy->max * 100) / max;
|
max_pctg = (policy->max * 100) / max;
|
||||||
}
|
}
|
||||||
printf("CPU%3d %9lu kHz (%3d %%) - %9lu kHz (%3d %%) - %s\n",
|
printf("CPU%3d %9lu kHz (%3d %%) - %9lu kHz (%3d %%) - %s\n",
|
||||||
cpu , policy->min, max ? min_pctg : 0, policy->max, max ? max_pctg : 0, policy->governor);
|
cpu , policy->min, max ? min_pctg : 0, policy->max,
|
||||||
|
max ? max_pctg : 0, policy->governor);
|
||||||
|
|
||||||
cpufreq_put_policy(policy);
|
cpufreq_put_policy(policy);
|
||||||
}
|
}
|
||||||
@ -137,7 +138,8 @@ static void print_duration(unsigned long duration)
|
|||||||
|
|
||||||
/* --boost / -b */
|
/* --boost / -b */
|
||||||
|
|
||||||
static int get_boost_mode(unsigned int cpu) {
|
static int get_boost_mode(unsigned int cpu)
|
||||||
|
{
|
||||||
int support, active, b_states = 0, ret, pstate_no, i;
|
int support, active, b_states = 0, ret, pstate_no, i;
|
||||||
/* ToDo: Make this more global */
|
/* ToDo: Make this more global */
|
||||||
unsigned long pstates[MAX_HW_PSTATES] = {0,};
|
unsigned long pstates[MAX_HW_PSTATES] = {0,};
|
||||||
@ -199,9 +201,8 @@ static void debug_output_one(unsigned int cpu)
|
|||||||
struct cpufreq_available_governors *governors;
|
struct cpufreq_available_governors *governors;
|
||||||
struct cpufreq_stats *stats;
|
struct cpufreq_stats *stats;
|
||||||
|
|
||||||
if (cpufreq_cpu_exists(cpu)) {
|
if (cpufreq_cpu_exists(cpu))
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
|
|
||||||
freq_kernel = cpufreq_get_freq_kernel(cpu);
|
freq_kernel = cpufreq_get_freq_kernel(cpu);
|
||||||
freq_hardware = cpufreq_get_freq_hardware(cpu);
|
freq_hardware = cpufreq_get_freq_hardware(cpu);
|
||||||
@ -294,8 +295,7 @@ static void debug_output_one(unsigned int cpu)
|
|||||||
if (freq_hardware) {
|
if (freq_hardware) {
|
||||||
print_speed(freq_hardware);
|
print_speed(freq_hardware);
|
||||||
printf(_(" (asserted by call to hardware)"));
|
printf(_(" (asserted by call to hardware)"));
|
||||||
}
|
} else
|
||||||
else
|
|
||||||
print_speed(freq_kernel);
|
print_speed(freq_kernel);
|
||||||
printf(".\n");
|
printf(".\n");
|
||||||
}
|
}
|
||||||
@ -322,7 +322,8 @@ static void debug_output_one(unsigned int cpu)
|
|||||||
|
|
||||||
/* --freq / -f */
|
/* --freq / -f */
|
||||||
|
|
||||||
static int get_freq_kernel(unsigned int cpu, unsigned int human) {
|
static int get_freq_kernel(unsigned int cpu, unsigned int human)
|
||||||
|
{
|
||||||
unsigned long freq = cpufreq_get_freq_kernel(cpu);
|
unsigned long freq = cpufreq_get_freq_kernel(cpu);
|
||||||
if (!freq)
|
if (!freq)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
@ -337,7 +338,8 @@ static int get_freq_kernel(unsigned int cpu, unsigned int human) {
|
|||||||
|
|
||||||
/* --hwfreq / -w */
|
/* --hwfreq / -w */
|
||||||
|
|
||||||
static int get_freq_hardware(unsigned int cpu, unsigned int human) {
|
static int get_freq_hardware(unsigned int cpu, unsigned int human)
|
||||||
|
{
|
||||||
unsigned long freq = cpufreq_get_freq_hardware(cpu);
|
unsigned long freq = cpufreq_get_freq_hardware(cpu);
|
||||||
if (!freq)
|
if (!freq)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
@ -351,7 +353,8 @@ static int get_freq_hardware(unsigned int cpu, unsigned int human) {
|
|||||||
|
|
||||||
/* --hwlimits / -l */
|
/* --hwlimits / -l */
|
||||||
|
|
||||||
static int get_hardware_limits(unsigned int cpu) {
|
static int get_hardware_limits(unsigned int cpu)
|
||||||
|
{
|
||||||
unsigned long min, max;
|
unsigned long min, max;
|
||||||
if (cpufreq_get_hardware_limits(cpu, &min, &max))
|
if (cpufreq_get_hardware_limits(cpu, &min, &max))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
@ -361,7 +364,8 @@ static int get_hardware_limits(unsigned int cpu) {
|
|||||||
|
|
||||||
/* --driver / -d */
|
/* --driver / -d */
|
||||||
|
|
||||||
static int get_driver(unsigned int cpu) {
|
static int get_driver(unsigned int cpu)
|
||||||
|
{
|
||||||
char *driver = cpufreq_get_driver(cpu);
|
char *driver = cpufreq_get_driver(cpu);
|
||||||
if (!driver)
|
if (!driver)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
@ -372,7 +376,8 @@ static int get_driver(unsigned int cpu) {
|
|||||||
|
|
||||||
/* --policy / -p */
|
/* --policy / -p */
|
||||||
|
|
||||||
static int get_policy(unsigned int cpu) {
|
static int get_policy(unsigned int cpu)
|
||||||
|
{
|
||||||
struct cpufreq_policy *policy = cpufreq_get_policy(cpu);
|
struct cpufreq_policy *policy = cpufreq_get_policy(cpu);
|
||||||
if (!policy)
|
if (!policy)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
@ -383,8 +388,10 @@ static int get_policy(unsigned int cpu) {
|
|||||||
|
|
||||||
/* --governors / -g */
|
/* --governors / -g */
|
||||||
|
|
||||||
static int get_available_governors(unsigned int cpu) {
|
static int get_available_governors(unsigned int cpu)
|
||||||
struct cpufreq_available_governors *governors = cpufreq_get_available_governors(cpu);
|
{
|
||||||
|
struct cpufreq_available_governors *governors =
|
||||||
|
cpufreq_get_available_governors(cpu);
|
||||||
if (!governors)
|
if (!governors)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
@ -400,7 +407,8 @@ static int get_available_governors(unsigned int cpu) {
|
|||||||
|
|
||||||
/* --affected-cpus / -a */
|
/* --affected-cpus / -a */
|
||||||
|
|
||||||
static int get_affected_cpus(unsigned int cpu) {
|
static int get_affected_cpus(unsigned int cpu)
|
||||||
|
{
|
||||||
struct cpufreq_affected_cpus *cpus = cpufreq_get_affected_cpus(cpu);
|
struct cpufreq_affected_cpus *cpus = cpufreq_get_affected_cpus(cpu);
|
||||||
if (!cpus)
|
if (!cpus)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
@ -416,7 +424,8 @@ static int get_affected_cpus(unsigned int cpu) {
|
|||||||
|
|
||||||
/* --related-cpus / -r */
|
/* --related-cpus / -r */
|
||||||
|
|
||||||
static int get_related_cpus(unsigned int cpu) {
|
static int get_related_cpus(unsigned int cpu)
|
||||||
|
{
|
||||||
struct cpufreq_affected_cpus *cpus = cpufreq_get_related_cpus(cpu);
|
struct cpufreq_affected_cpus *cpus = cpufreq_get_related_cpus(cpu);
|
||||||
if (!cpus)
|
if (!cpus)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
@ -432,17 +441,19 @@ static int get_related_cpus(unsigned int cpu) {
|
|||||||
|
|
||||||
/* --stats / -s */
|
/* --stats / -s */
|
||||||
|
|
||||||
static int get_freq_stats(unsigned int cpu, unsigned int human) {
|
static int get_freq_stats(unsigned int cpu, unsigned int human)
|
||||||
|
{
|
||||||
unsigned long total_trans = cpufreq_get_transitions(cpu);
|
unsigned long total_trans = cpufreq_get_transitions(cpu);
|
||||||
unsigned long long total_time;
|
unsigned long long total_time;
|
||||||
struct cpufreq_stats *stats = cpufreq_get_stats(cpu, &total_time);
|
struct cpufreq_stats *stats = cpufreq_get_stats(cpu, &total_time);
|
||||||
while (stats) {
|
while (stats) {
|
||||||
if (human) {
|
if (human) {
|
||||||
print_speed(stats->frequency);
|
print_speed(stats->frequency);
|
||||||
printf(":%.2f%%", (100.0 * stats->time_in_state) / total_time);
|
printf(":%.2f%%",
|
||||||
}
|
(100.0 * stats->time_in_state) / total_time);
|
||||||
else
|
} else
|
||||||
printf("%lu:%llu", stats->frequency, stats->time_in_state);
|
printf("%lu:%llu",
|
||||||
|
stats->frequency, stats->time_in_state);
|
||||||
stats = stats->next;
|
stats = stats->next;
|
||||||
if (stats)
|
if (stats)
|
||||||
printf(", ");
|
printf(", ");
|
||||||
@ -455,7 +466,8 @@ static int get_freq_stats(unsigned int cpu, unsigned int human) {
|
|||||||
|
|
||||||
/* --latency / -y */
|
/* --latency / -y */
|
||||||
|
|
||||||
static int get_latency(unsigned int cpu, unsigned int human) {
|
static int get_latency(unsigned int cpu, unsigned int human)
|
||||||
|
{
|
||||||
unsigned long latency = cpufreq_get_transition_latency(cpu);
|
unsigned long latency = cpufreq_get_transition_latency(cpu);
|
||||||
if (!latency)
|
if (!latency)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
@ -468,7 +480,8 @@ static int get_latency(unsigned int cpu, unsigned int human) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void freq_info_help(void) {
|
void freq_info_help(void)
|
||||||
|
{
|
||||||
printf(_("Usage: cpupower freqinfo [options]\n"));
|
printf(_("Usage: cpupower freqinfo [options]\n"));
|
||||||
printf(_("Options:\n"));
|
printf(_("Options:\n"));
|
||||||
printf(_(" -e, --debug Prints out debug information [default]\n"));
|
printf(_(" -e, --debug Prints out debug information [default]\n"));
|
||||||
@ -659,7 +672,7 @@ int cmd_freq_info(int argc, char **argv)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (ret)
|
if (ret)
|
||||||
return (ret);
|
return ret;
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -204,7 +204,8 @@ static int do_one_cpu(unsigned int cpu, struct cpufreq_policy *new_pol,
|
|||||||
else if (new_pol->max)
|
else if (new_pol->max)
|
||||||
return cpufreq_modify_policy_max(cpu, new_pol->max);
|
return cpufreq_modify_policy_max(cpu, new_pol->max);
|
||||||
else if (new_pol->governor)
|
else if (new_pol->governor)
|
||||||
return cpufreq_modify_policy_governor(cpu, new_pol->governor);
|
return cpufreq_modify_policy_governor(cpu,
|
||||||
|
new_pol->governor);
|
||||||
|
|
||||||
default:
|
default:
|
||||||
/* slow path */
|
/* slow path */
|
||||||
|
@ -31,8 +31,7 @@ static void cpuidle_cpu_output(unsigned int cpu, int verbose)
|
|||||||
if (idlestates == 0) {
|
if (idlestates == 0) {
|
||||||
printf(_("CPU %u: No idle states\n"), cpu);
|
printf(_("CPU %u: No idle states\n"), cpu);
|
||||||
return;
|
return;
|
||||||
}
|
} else if (idlestates <= 0) {
|
||||||
else if (idlestates <= 0) {
|
|
||||||
printf(_("CPU %u: Can't read idle state info\n"), cpu);
|
printf(_("CPU %u: Can't read idle state info\n"), cpu);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -117,8 +116,7 @@ static void proc_cpuidle_cpu_output(unsigned int cpu)
|
|||||||
* printf(_("CPU %u: No C-states available\n"), cpu);
|
* printf(_("CPU %u: No C-states available\n"), cpu);
|
||||||
* return;
|
* return;
|
||||||
*/
|
*/
|
||||||
}
|
} else if (cstates <= 0) {
|
||||||
else if (cstates <= 0) {
|
|
||||||
printf(_("CPU %u: Can't read C-state info\n"), cpu);
|
printf(_("CPU %u: Can't read C-state info\n"), cpu);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -143,7 +141,8 @@ static void proc_cpuidle_cpu_output(unsigned int cpu)
|
|||||||
|
|
||||||
/* --freq / -f */
|
/* --freq / -f */
|
||||||
|
|
||||||
void idle_info_help(void) {
|
void idle_info_help(void)
|
||||||
|
{
|
||||||
printf(_ ("Usage: cpupower idleinfo [options]\n"));
|
printf(_ ("Usage: cpupower idleinfo [options]\n"));
|
||||||
printf(_ ("Options:\n"));
|
printf(_ ("Options:\n"));
|
||||||
printf(_ (" -s, --silent Only show general C-state information\n"));
|
printf(_ (" -s, --silent Only show general C-state information\n"));
|
||||||
@ -241,5 +240,5 @@ int cmd_idle_info(int argc, char **argv)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return (EXIT_SUCCESS);
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
@ -57,7 +57,6 @@ int cmd_info(int argc, char **argv)
|
|||||||
int perf_bias:1;
|
int perf_bias:1;
|
||||||
};
|
};
|
||||||
int params;
|
int params;
|
||||||
|
|
||||||
} params = {};
|
} params = {};
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
|
@ -57,7 +57,6 @@ int cmd_set(int argc, char **argv)
|
|||||||
int perf_bias:1;
|
int perf_bias:1;
|
||||||
};
|
};
|
||||||
int params;
|
int params;
|
||||||
|
|
||||||
} params;
|
} params;
|
||||||
int sched_mc = 0, sched_smt = 0, perf_bias = 0;
|
int sched_mc = 0, sched_smt = 0, perf_bias = 0;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
@ -67,7 +66,8 @@ int cmd_set(int argc, char **argv)
|
|||||||
|
|
||||||
params.params = 0;
|
params.params = 0;
|
||||||
/* parameter parsing */
|
/* parameter parsing */
|
||||||
while ((ret = getopt_long(argc, argv, "m:s:b:h", set_opts, NULL)) != -1) {
|
while ((ret = getopt_long(argc, argv, "m:s:b:h",
|
||||||
|
set_opts, NULL)) != -1) {
|
||||||
switch (ret) {
|
switch (ret) {
|
||||||
case 'h':
|
case 'h':
|
||||||
set_help();
|
set_help();
|
||||||
|
@ -51,7 +51,7 @@ static struct cmd_struct commands[] = {
|
|||||||
{ "info", cmd_info, info_help, 0 },
|
{ "info", cmd_info, info_help, 0 },
|
||||||
{ "monitor", cmd_monitor, monitor_help, 0 },
|
{ "monitor", cmd_monitor, monitor_help, 0 },
|
||||||
{ "help", cmd_help, print_help, 0 },
|
{ "help", cmd_help, print_help, 0 },
|
||||||
// { "bench", cmd_bench, NULL, 1 },
|
/* { "bench", cmd_bench, NULL, 1 }, */
|
||||||
};
|
};
|
||||||
|
|
||||||
int cmd_help(int argc, const char **argv)
|
int cmd_help(int argc, const char **argv)
|
||||||
@ -95,7 +95,8 @@ static void print_help(void)
|
|||||||
printf(_("\nUse cpupower help subcommand for getting help for above subcommands.\n"));
|
printf(_("\nUse cpupower help subcommand for getting help for above subcommands.\n"));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void print_version(void) {
|
static void print_version(void)
|
||||||
|
{
|
||||||
printf(PACKAGE " " VERSION "\n");
|
printf(PACKAGE " " VERSION "\n");
|
||||||
printf(_("Report errors and bugs to %s, please.\n"), PACKAGE_BUGREPORT);
|
printf(_("Report errors and bugs to %s, please.\n"), PACKAGE_BUGREPORT);
|
||||||
}
|
}
|
||||||
@ -132,7 +133,8 @@ static void handle_options(int *argc, const char ***argv)
|
|||||||
/* Cut out param: cpupower -c 1 info -> cpupower info */
|
/* Cut out param: cpupower -c 1 info -> cpupower info */
|
||||||
new_argc += 2;
|
new_argc += 2;
|
||||||
continue;
|
continue;
|
||||||
} else if (!strcmp(param, "-v") || !strcmp(param, "--version")){
|
} else if (!strcmp(param, "-v") ||
|
||||||
|
!strcmp(param, "--version")) {
|
||||||
print_version();
|
print_version();
|
||||||
exit(EXIT_SUCCESS);
|
exit(EXIT_SUCCESS);
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
|
Loading…
Reference in New Issue
Block a user