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, 
> &params->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


Reply via email to