Re: [PATCH V8 04/14] rtla/osnoise: Add osnoise top mode

From: Daniel Bristot de Oliveira
Date: Sat Dec 04 2021 - 13:04:21 EST


Tao


On 11/29/21 12:07, Daniel Bristot de Oliveira wrote:
> +int osnoise_top_main(int argc, char **argv)
> +{
> + struct osnoise_top_params *params;
> + struct trace_instance *trace;
> + struct osnoise_tool *record;
> + struct osnoise_tool *tool;
> + int return_value = 1;
> + int retval;
> +
> + params = osnoise_top_parse_args(argc, argv);
> + if (!params)
> + exit(1);
> +
> + tool = osnoise_init_top(params);
> + if (!tool) {
> + err_msg("Could not init osnoise top\n");
> + goto out_exit;
> + }
> +
> + retval = osnoise_top_apply_config(tool, params);
> + if (retval) {
> + err_msg("Could not apply config\n");
> + goto out_top;
> + }
> +
> + trace = &tool->trace;
> +
> + retval = enable_osnoise(trace);
> + if (retval) {
> + err_msg("Failed to enable osnoise tracer\n");
> + goto out_top;
> + }
> +
> + if (params->set_sched) {
> + retval = set_comm_sched_attr("osnoise/", &params->sched_param);
> + if (retval)


You hit this case. It is correct to get this error if one sets SCHED_DEADLINE
without disabling the admission control.

However, there is also a problem here. The tracer was not disabled, and the
instance was not removed - so osnoise threads kept running after the error
message and exit().

I will fix this on all tools for v9.

Thanks for testing!
--- Daniel

> + osnoise_top_usage("Failed to set sched parameters\n");
> + }
> +