On 6/12/24 16:54, tglo...@redhat.com wrote: > @@ -550,6 +555,7 @@ static struct timerlat_top_params > {"aa-only", required_argument, 0, '5'}, > {"warm-up", required_argument, 0, '6'}, > {"trace-buffer-size", required_argument, 0, '7'}, > + {"disable-idle-states", no_argument, 0, '8'},
Can we add an argument with a state level to set? > {0, 0, 0, 0} > }; > > @@ -726,6 +732,9 @@ static struct timerlat_top_params > case '7': > params->buffer_size = get_llong_from_str(optarg); > break; > + case '8': > + params->disable_idle_states = 1; > + break; > default: > timerlat_top_usage("Invalid option"); > } > @@ -922,6 +931,7 @@ int timerlat_top_main(int argc, char *argv[]) > int return_value = 1; > char *max_lat; > int retval; > + int i; > > params = timerlat_top_parse_args(argc, argv); > if (!params) > @@ -971,6 +981,21 @@ int timerlat_top_main(int argc, char *argv[]) > } > } > > + if (params->disable_idle_states) { > + for (i = 0; i < sysconf(_SC_NPROCESSORS_CONF); i++) { > + if (params->cpus && !CPU_ISSET(i, > ¶ms->monitored_cpus)) > + continue; > + if (save_cpu_idle_disable_state(i) < 0) { > + err_msg("Could not save cpu idle state.\n"); > + goto out_free; > + } > + if (set_cpu_idle_disable_state(i, 1) < 0) { and use the argument state here? ^ -- Daniel