mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
rtla: Start the tracers after creating all instances
Group all start tracing after finishing creating all instances. The tracing instance starts first for the case of hitting a stop tracing while enabling other instances. The trace instance is the one with most valuable information. Link: https://lkml.kernel.org/r/67da7a703a56f75d7cd46568525145a65501a7e8.1686066600.git.bristot@kernel.org Cc: William White <chwhite@redhat.com> Cc: Jonathan Corbet <corbet@lwn.net> Tested-by: Juri Lelli <juri.lelli@redhat.com> Signed-off-by: Daniel Bristot de Oliveira <bristot@kernel.org> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
This commit is contained in:
parent
2091336b9a
commit
57cf76ec64
@ -870,8 +870,6 @@ int osnoise_hist_main(int argc, char *argv[])
|
||||
}
|
||||
}
|
||||
|
||||
trace_instance_start(trace);
|
||||
|
||||
if (params->trace_output) {
|
||||
record = osnoise_init_trace_tool("osnoise");
|
||||
if (!record) {
|
||||
@ -885,9 +883,19 @@ int osnoise_hist_main(int argc, char *argv[])
|
||||
goto out_hist;
|
||||
}
|
||||
|
||||
trace_instance_start(&record->trace);
|
||||
}
|
||||
|
||||
/*
|
||||
* Start the tracer here, after having set all instances.
|
||||
*
|
||||
* Let the trace instance start first for the case of hitting a stop
|
||||
* tracing while enabling other instances. The trace instance is the
|
||||
* one with most valuable information.
|
||||
*/
|
||||
if (params->trace_output)
|
||||
trace_instance_start(&record->trace);
|
||||
trace_instance_start(trace);
|
||||
|
||||
tool->start_time = time(NULL);
|
||||
osnoise_hist_set_signals(params);
|
||||
|
||||
|
@ -697,8 +697,6 @@ int osnoise_top_main(int argc, char **argv)
|
||||
}
|
||||
}
|
||||
|
||||
trace_instance_start(trace);
|
||||
|
||||
if (params->trace_output) {
|
||||
record = osnoise_init_trace_tool("osnoise");
|
||||
if (!record) {
|
||||
@ -711,10 +709,19 @@ int osnoise_top_main(int argc, char **argv)
|
||||
if (retval)
|
||||
goto out_top;
|
||||
}
|
||||
|
||||
trace_instance_start(&record->trace);
|
||||
}
|
||||
|
||||
/*
|
||||
* Start the tracer here, after having set all instances.
|
||||
*
|
||||
* Let the trace instance start first for the case of hitting a stop
|
||||
* tracing while enabling other instances. The trace instance is the
|
||||
* one with most valuable information.
|
||||
*/
|
||||
if (params->trace_output)
|
||||
trace_instance_start(&record->trace);
|
||||
trace_instance_start(trace);
|
||||
|
||||
tool->start_time = time(NULL);
|
||||
osnoise_top_set_signals(params);
|
||||
|
||||
|
@ -922,8 +922,6 @@ int timerlat_hist_main(int argc, char *argv[])
|
||||
}
|
||||
}
|
||||
|
||||
trace_instance_start(trace);
|
||||
|
||||
if (params->trace_output) {
|
||||
record = osnoise_init_trace_tool("timerlat");
|
||||
if (!record) {
|
||||
@ -936,8 +934,6 @@ int timerlat_hist_main(int argc, char *argv[])
|
||||
if (retval)
|
||||
goto out_hist;
|
||||
}
|
||||
|
||||
trace_instance_start(&record->trace);
|
||||
}
|
||||
|
||||
if (!params->no_aa) {
|
||||
@ -956,10 +952,21 @@ int timerlat_hist_main(int argc, char *argv[])
|
||||
err_msg("Failed to enable timerlat tracer\n");
|
||||
goto out_hist;
|
||||
}
|
||||
|
||||
trace_instance_start(&aa->trace);
|
||||
}
|
||||
|
||||
/*
|
||||
* Start the tracers here, after having set all instances.
|
||||
*
|
||||
* Let the trace instance start first for the case of hitting a stop
|
||||
* tracing while enabling other instances. The trace instance is the
|
||||
* one with most valuable information.
|
||||
*/
|
||||
if (params->trace_output)
|
||||
trace_instance_start(&record->trace);
|
||||
if (!params->no_aa)
|
||||
trace_instance_start(&aa->trace);
|
||||
trace_instance_start(trace);
|
||||
|
||||
tool->start_time = time(NULL);
|
||||
timerlat_hist_set_signals(params);
|
||||
|
||||
|
@ -743,8 +743,6 @@ int timerlat_top_main(int argc, char *argv[])
|
||||
}
|
||||
}
|
||||
|
||||
trace_instance_start(trace);
|
||||
|
||||
if (params->trace_output) {
|
||||
record = osnoise_init_trace_tool("timerlat");
|
||||
if (!record) {
|
||||
@ -757,8 +755,6 @@ int timerlat_top_main(int argc, char *argv[])
|
||||
if (retval)
|
||||
goto out_top;
|
||||
}
|
||||
|
||||
trace_instance_start(&record->trace);
|
||||
}
|
||||
|
||||
if (!params->no_aa) {
|
||||
@ -785,11 +781,22 @@ int timerlat_top_main(int argc, char *argv[])
|
||||
err_msg("Failed to enable timerlat tracer\n");
|
||||
goto out_top;
|
||||
}
|
||||
|
||||
trace_instance_start(&aa->trace);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Start the tracers here, after having set all instances.
|
||||
*
|
||||
* Let the trace instance start first for the case of hitting a stop
|
||||
* tracing while enabling other instances. The trace instance is the
|
||||
* one with most valuable information.
|
||||
*/
|
||||
if (params->trace_output)
|
||||
trace_instance_start(&record->trace);
|
||||
if (!params->no_aa && aa != top)
|
||||
trace_instance_start(&aa->trace);
|
||||
trace_instance_start(trace);
|
||||
|
||||
top->start_time = time(NULL);
|
||||
timerlat_top_set_signals(params);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user