rtla: Some RTLA fixes for 5.17
Subsystems (2)
cover rtla: Some RTLA fixes for 5.17
These is a set of fixes for RTLA on 5.17, the commit logs explain more details about them.
Daniel Bristot de Oliveira (3):
rtla/hist: Make -E the short version of --entries rtla/osnoise: Free params at the exit
rtla/osnoise: Fix error message when failing to enable trace instance
Documentation/tools/rtla/common_hist_options.rst | 2 +- Documentation/tools/rtla/rtla-osnoise-hist.rst | 2 +- tools/tracing/rtla/src/osnoise.c | 2 +- tools/tracing/rtla/src/osnoise_hist.c | 10 +++++----- tools/tracing/rtla/src/osnoise_top.c | 1 + tools/tracing/rtla/src/timerlat_hist.c | 10 +++++----- 6 files changed, 14 insertions(+), 13 deletions(-)
Signature · 1 line
2.34.1
PATCH 1/3 rtla/hist: Make -E the short version of --entries
Currently, --entries uses -e as the short version in the hist mode of timerlat and osnoise tools. But as -e is already used to enable events on trace sessions by other tools, thus let's keep it available for the same usage for all rtla tools.
Make -E the short version of --entries for hist mode on all tools.
Note: rtla was merged in this merge window, so rtla was not released yet.
--- Documentation/tools/rtla/common_hist_options.rst | 2 +- Documentation/tools/rtla/rtla-osnoise-hist.rst | 2 +- tools/tracing/rtla/src/osnoise_hist.c | 10 +++++----- tools/tracing/rtla/src/timerlat_hist.c | 10 +++++----- 4 files changed, 12 insertions(+), 12 deletions(-)
Documentation/tools/rtla/common_hist_options.rst +1 -1
@@ -2,7 +2,7 @@ Set the histogram bucket size (default *1*). -**-e**, **--entries** *N* +**-E**, **--entries** *N* Set the number of entries of the histogram (default 256).
Documentation/tools/rtla/rtla-osnoise-hist.rst +1 -1
@@ -36,7 +36,7 @@ default). The reason for reducing the runtime is to avoid starving the **rtla** tool. The tool is also set to run for *one minute*. The output histogram is set to group outputs in buckets of *10us* and *25* entries:: - [root@f34 ~/]# rtla osnoise hist -P F:1 -c 0-11 -r 900000 -d 1M -b 10 -e 25 + [root@f34 ~/]# rtla osnoise hist -P F:1 -c 0-11 -r 900000 -d 1M -b 10 -E 25 # RTLA osnoise histogram # Time unit is microseconds (us) # Duration: 0 00:01:00
tools/tracing/rtla/src/osnoise_hist.c +5 -5
@@ -426,7 +426,7 @@ static void osnoise_hist_usage(char *usage)static const char *const msg[] = {"" ," usage: rtla osnoise hist [-h] [-D] [-d s] [-p us] [-r us] [-s us] [-S us] [-t[=file]] \\" , -" [-c cpu-list] [-P priority] [-b N] [-e N] [--no-header] [--no-summary] \\" , +" [-c cpu-list] [-P priority] [-b N] [-E N] [--no-header] [--no-summary] \\" ," [--no-index] [--with-zeros]" ,"" ," -h/--help: print this menu" ,
@@ -439,7 +439,7 @@ static void osnoise_hist_usage(char *usage)" -D/--debug: print debug info" ," -t/--trace[=file]: save the stopped trace to [file|osnoise_trace.txt]" ," -b/--bucket-size N: set the histogram bucket size (default 1)" , -" -e/--entries N: set the number of entries of the histogram (default 256)" , +" -E/--entries N: set the number of entries of the histogram (default 256)" ," --no-header: do not print header" ," --no-summary: do not print summary" , " --no-index: do not print index",
@@ -486,7 +486,7 @@ static struct osnoise_hist_paramswhile (1 ) {static struct option long_options[] = { {"bucket-size" , required_argument,0 ,'b' }, - {"entries" , required_argument,0 ,'e' }, + {"entries" , required_argument,0 ,'E' }, {"cpus" , required_argument,0 ,'c' }, {"debug" , no_argument,0 ,'D' }, {"duration" , required_argument,0 ,'d' },
@@ -507,7 +507,7 @@ static struct osnoise_hist_params/* getopt_long stores the option index here. */ int option_index =0 ; - c =getopt_long (argc, argv,"c:b:d:e:Dhp:P:r:s:S:t::0123" , + c =getopt_long (argc, argv,"c:b:d:E:Dhp:P:r:s:S:t::0123" , long_options, &option_index);/* detect the end of the options. */
@@ -534,7 +534,7 @@ static struct osnoise_hist_paramsif (!params->duration)osnoise_hist_usage ("Invalid -D duration\n" );break ; -case 'e' : +case 'E' : params->entries =get_llong_from_str (optarg);if ((params->entries <10 ) || (params->entries >9999999 ))osnoise_hist_usage ("Entries must be > 10 and < 9999999\n" );
tools/tracing/rtla/src/timerlat_hist.c +5 -5
@@ -429,7 +429,7 @@ static void timerlat_hist_usage(char *usage)char *msg[] = {"" ," usage: [rtla] timerlat hist [-h] [-q] [-d s] [-D] [-n] [-p us] [-i us] [-T us] [-s us] [-t[=file]] \\" , -" [-c cpu-list] [-P priority] [-e N] [-b N] [--no-irq] [--no-thread] [--no-header] [--no-summary] \\" , +" [-c cpu-list] [-P priority] [-E N] [-b N] [--no-irq] [--no-thread] [--no-header] [--no-summary] \\" ," [--no-index] [--with-zeros]" ,"" ," -h/--help: print this menu" ,
@@ -443,7 +443,7 @@ static void timerlat_hist_usage(char *usage)" -T/--trace[=file]: save the stopped trace to [file|timerlat_trace.txt]" ," -n/--nano: display data in nanoseconds" ," -b/--bucket-size N: set the histogram bucket size (default 1)" , -" -e/--entries N: set the number of entries of the histogram (default 256)" , +" -E/--entries N: set the number of entries of the histogram (default 256)" ," --no-irq: ignore IRQ latencies" ," --no-thread: ignore thread latencies" , " --no-header: do not print header",
@@ -494,7 +494,7 @@ static struct timerlat_hist_params {"cpus", required_argument, 0, 'c'}, {"bucket-size", required_argument, 0, 'b'}, {"debug", no_argument, 0, 'D'}, - {"entries", required_argument, 0, 'e'}, + {"entries", required_argument, 0, 'E'}, {"duration", required_argument, 0, 'd'}, {"help", no_argument, 0, 'h'}, {"irq", required_argument, 0, 'i'},
@@ -516,7 +516,7 @@ static struct timerlat_hist_params/* getopt_long stores the option index here. */ int option_index =0 ; - c =getopt_long (argc, argv,"c:b:d:e:Dhi:np:P:s:t::T:012345" , + c =getopt_long (argc, argv,"c:b:d:E:Dhi:np:P:s:t::T:012345" , long_options, &option_index);/* detect the end of the options. */
@@ -543,7 +543,7 @@ static struct timerlat_hist_paramsif (!params->duration)timerlat_hist_usage ("Invalid -D duration\n" );break ; -case 'e' : +case 'E' : params->entries =get_llong_from_str (optarg);if ((params->entries <10 ) || (params->entries >9999999 ))timerlat_hist_usage ("Entries must be > 10 and < 9999999\n" );
Signature · 1 line
2.34.1
PATCH 2/3 rtla/osnoise: Free params at the exit
In reply to Daniel Bristot de OliveiraThe variable that stores the parsed command line arguments are not being free()d at the rtla osnoise top exit path.
Free params variable before exiting.
--- tools/tracing/rtla/src/osnoise_top.c | 1 + 1 file changed, 1 insertion(+)
tools/tracing/rtla/src/osnoise_top.c +1 -0
@@ -573,6 +573,7 @@ int osnoise_top_main(int argc, char **argv)osnoise_free_top (tool->data);osnoise_destroy_tool (record);osnoise_destroy_tool (tool); +free (params); out_exit:exit (return_value); }
Signature · 1 line
2.34.1
PATCH 3/3 rtla/osnoise: Fix error message when failing to enable trace instance
In reply to Daniel Bristot de OliveiraWhen a trace instance creation fails, tools are printing:
Could not enable -> osnoiser <- tracer for tracing
Print the actual (and correct) name of the tracer it fails to enable.
--- tools/tracing/rtla/src/osnoise.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
tools/tracing/rtla/src/osnoise.c +1 -1
@@ -810,7 +810,7 @@ struct osnoise_tool *osnoise_init_trace_tool(char *tracer) retval =enable_tracer_by_name (trace->trace.inst, tracer);if (retval) { -err_msg ("Could not enable osnoiser tracer for tracing\n" ); +err_msg ("Could not enable %s tracer for tracing\n" , tracer); goto out_err; }
Signature · 1 line
2.34.1