[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <9e4f976d-277e-41b3-9f32-943b2e8ddebc@kernel.org>
Date: Fri, 21 Jun 2024 10:45:45 +0200
From: Daniel Bristot de Oliveira <bristot@...nel.org>
To: tglozar@...hat.com, rostedt@...dmis.org
Cc: linux-trace-kernel@...r.kernel.org, linux-kernel@...r.kernel.org,
jkacur@...hat.com, jwyatt@...hat.com
Subject: Re: [PATCH 3/5] rtla/timerlat: Add --disable-idle-states for top
On 6/12/24 16:54, tglozar@...hat.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
Powered by blists - more mailing lists