On Tue, Dec 09, 2025 at 12:00:46PM +0200, Costa Shulyupin wrote: > Each rtla tool duplicates parsing of -P/--priority. > > Migrate the option parsing from individual tools to the > common_parse_options(). > > Signed-off-by: Costa Shulyupin <[email protected]> > --- > tools/tracing/rtla/src/common.c | 8 +++++++- > tools/tracing/rtla/src/osnoise_hist.c | 9 +-------- > tools/tracing/rtla/src/osnoise_top.c | 9 +-------- > tools/tracing/rtla/src/timerlat_hist.c | 9 +-------- > tools/tracing/rtla/src/timerlat_top.c | 9 +-------- > 5 files changed, 11 insertions(+), 33 deletions(-) > > diff --git a/tools/tracing/rtla/src/common.c b/tools/tracing/rtla/src/common.c > index 684ff49f0a4c..e042b2d9dbf5 100644 > --- a/tools/tracing/rtla/src/common.c > +++ b/tools/tracing/rtla/src/common.c > @@ -62,11 +62,12 @@ int common_parse_options(int argc, char **argv, struct > common_params *common) > {"debug", no_argument, 0, 'D'}, > {"duration", required_argument, 0, 'd'}, > {"event", required_argument, 0, 'e'}, > + {"priority", required_argument, 0, 'P'}, > {0, 0, 0, 0} > }; > > opterr = 0; > - c = getopt_long(argc, argv, "c:C::Dd:e:", long_options, NULL); > + c = getopt_long(argc, argv, "c:C::Dd:e:P:", long_options, NULL); > opterr = 1; > > switch (c) { > @@ -96,6 +97,11 @@ int common_parse_options(int argc, char **argv, struct > common_params *common) > tevent->next = common->events; > common->events = tevent; > break; > + case 'P': > + if (parse_prio(optarg, &common->sched_param) == -1) > + fatal("Invalid -P priority"); > + common->set_sched = 1; > + break; > default: > optind = saved_state; > return 0; > diff --git a/tools/tracing/rtla/src/osnoise_hist.c > b/tools/tracing/rtla/src/osnoise_hist.c > index c4013f50e803..6ed5f5594960 100644 > --- a/tools/tracing/rtla/src/osnoise_hist.c > +++ b/tools/tracing/rtla/src/osnoise_hist.c > @@ -493,7 +493,6 @@ static struct common_params > {"house-keeping", required_argument, > 0, 'H'}, > {"help", no_argument, 0, 'h'}, > {"period", required_argument, 0, 'p'}, > - {"priority", required_argument, 0, 'P'}, > {"runtime", required_argument, 0, 'r'}, > {"stop", required_argument, 0, 's'}, > {"stop-total", required_argument, 0, 'S'}, > @@ -515,7 +514,7 @@ static struct common_params > if (common_parse_options(argc, argv, ¶ms->common)) > continue; > > - c = getopt_long(argc, argv, > "a:b:E:hH:p:P:r:s:S:t::T:01234:5:6:7:", > + c = getopt_long(argc, argv, > "a:b:E:hH:p:r:s:S:t::T:01234:5:6:7:", > long_options, NULL); > > /* detect the end of the options. */ > @@ -562,12 +561,6 @@ static struct common_params > if (params->period > 10000000) > fatal("Period longer than 10 s"); > break; > - case 'P': > - retval = parse_prio(optarg, > ¶ms->common.sched_param); > - if (retval == -1) > - fatal("Invalid -P priority"); > - params->common.set_sched = 1; > - break; > case 'r': > params->runtime = get_llong_from_str(optarg); > if (params->runtime < 100) > diff --git a/tools/tracing/rtla/src/osnoise_top.c > b/tools/tracing/rtla/src/osnoise_top.c > index 846d25ee4885..d2dfad960440 100644 > --- a/tools/tracing/rtla/src/osnoise_top.c > +++ b/tools/tracing/rtla/src/osnoise_top.c > @@ -348,7 +348,6 @@ struct common_params *osnoise_top_parse_args(int argc, > char **argv) > {"house-keeping", required_argument, 0, 'H'}, > {"help", no_argument, 0, 'h'}, > {"period", required_argument, 0, 'p'}, > - {"priority", required_argument, 0, 'P'}, > {"quiet", no_argument, 0, 'q'}, > {"runtime", required_argument, 0, 'r'}, > {"stop", required_argument, 0, 's'}, > @@ -367,7 +366,7 @@ struct common_params *osnoise_top_parse_args(int argc, > char **argv) > if (common_parse_options(argc, argv, ¶ms->common)) > continue; > > - c = getopt_long(argc, argv, "a:hH:p:P:qr:s:S:t::T:0:1:2:3:", > + c = getopt_long(argc, argv, "a:hH:p:qr:s:S:t::T:0:1:2:3:", > long_options, NULL); > > /* Detect the end of the options. */ > @@ -402,12 +401,6 @@ struct common_params *osnoise_top_parse_args(int argc, > char **argv) > if (params->period > 10000000) > fatal("Period longer than 10 s"); > break; > - case 'P': > - retval = parse_prio(optarg, > ¶ms->common.sched_param); > - if (retval == -1) > - fatal("Invalid -P priority"); > - params->common.set_sched = 1; > - break; > case 'q': > params->common.quiet = 1; > break; > diff --git a/tools/tracing/rtla/src/timerlat_hist.c > b/tools/tracing/rtla/src/timerlat_hist.c > index 4744f84a452e..e7ba083b5eb4 100644 > --- a/tools/tracing/rtla/src/timerlat_hist.c > +++ b/tools/tracing/rtla/src/timerlat_hist.c > @@ -802,7 +802,6 @@ static struct common_params > {"irq", required_argument, 0, 'i'}, > {"nano", no_argument, 0, 'n'}, > {"period", required_argument, 0, 'p'}, > - {"priority", required_argument, 0, 'P'}, > {"stack", required_argument, 0, 's'}, > {"thread", required_argument, 0, 'T'}, > {"trace", optional_argument, 0, 't'}, > @@ -831,7 +830,7 @@ static struct common_params > if (common_parse_options(argc, argv, ¶ms->common)) > continue; > > - c = getopt_long(argc, argv, > "a:b:E:hH:i:knp:P:s:t::T:uU0123456:7:8:9\1\2:\3:", > + c = getopt_long(argc, argv, > "a:b:E:hH:i:knp:s:t::T:uU0123456:7:8:9\1\2:\3:", > long_options, NULL); > > /* detect the end of the options. */ > @@ -890,12 +889,6 @@ static struct common_params > if (params->timerlat_period_us > 1000000) > fatal("Period longer than 1 s"); > break; > - case 'P': > - retval = parse_prio(optarg, > ¶ms->common.sched_param); > - if (retval == -1) > - fatal("Invalid -P priority"); > - params->common.set_sched = 1; > - break; > case 's': > params->print_stack = get_llong_from_str(optarg); > break; > diff --git a/tools/tracing/rtla/src/timerlat_top.c > b/tools/tracing/rtla/src/timerlat_top.c > index b77e5b6550a1..8250bea4b2fd 100644 > --- a/tools/tracing/rtla/src/timerlat_top.c > +++ b/tools/tracing/rtla/src/timerlat_top.c > @@ -570,7 +570,6 @@ static struct common_params > {"irq", required_argument, 0, 'i'}, > {"nano", no_argument, 0, 'n'}, > {"period", required_argument, 0, 'p'}, > - {"priority", required_argument, 0, 'P'}, > {"quiet", no_argument, 0, 'q'}, > {"stack", required_argument, 0, 's'}, > {"thread", required_argument, 0, 'T'}, > @@ -595,7 +594,7 @@ static struct common_params > if (common_parse_options(argc, argv, ¶ms->common)) > continue; > > - c = getopt_long(argc, argv, > "a:hH:i:knp:P:qs:t::T:uU0:1:2:345:6:7:", > + c = getopt_long(argc, argv, > "a:hH:i:knp:qs:t::T:uU0:1:2:345:6:7:", > long_options, NULL); > > /* detect the end of the options. */ > @@ -656,12 +655,6 @@ static struct common_params > if (params->timerlat_period_us > 1000000) > fatal("Period longer than 1 s"); > break; > - case 'P': > - retval = parse_prio(optarg, > ¶ms->common.sched_param); > - if (retval == -1) > - fatal("Invalid -P priority"); > - params->common.set_sched = 1; > - break; > case 'q': > params->common.quiet = 1; > break; > -- > 2.52.0 >
Reviewed-by: Wander Lairson Costa <[email protected]>
