perf sched latency: Fix subcommand matching error
perf sched latency use strncmp to match subcommands which matching does not meet expectation. Before: # perf sched lat1234 >/dev/null # echo $? 0 # Solution: Use strstarts to match subcommand. After: # perf sched lat1234 Usage: perf sched [<options>] {record|latency|map|replay|script|timehist} -D, --dump-raw-trace dump raw trace in ASCII -f, --force don't complain, do it -i, --input <file> input file name -v, --verbose be more verbose (show symbol address, etc) # echo $? 129 # # perf sched lat >/dev/null # echo $? 0 # Signed-off-by: Yang Jihong <yangjihong1@huawei.com> Acked-by: Namhyung Kim <namhyung@kernel.org> Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20220808092408.107399-3-yangjihong1@huawei.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Родитель
d2f30b793e
Коммит
628881ee06
|
@ -3563,7 +3563,7 @@ int cmd_sched(int argc, const char **argv)
|
||||||
|
|
||||||
if (strlen(argv[0]) > 2 && strstarts("record", argv[0])) {
|
if (strlen(argv[0]) > 2 && strstarts("record", argv[0])) {
|
||||||
return __cmd_record(argc, argv);
|
return __cmd_record(argc, argv);
|
||||||
} else if (!strncmp(argv[0], "lat", 3)) {
|
} else if (strlen(argv[0]) > 2 && strstarts("latency", argv[0])) {
|
||||||
sched.tp_handler = &lat_ops;
|
sched.tp_handler = &lat_ops;
|
||||||
if (argc > 1) {
|
if (argc > 1) {
|
||||||
argc = parse_options(argc, argv, latency_options, latency_usage, 0);
|
argc = parse_options(argc, argv, latency_options, latency_usage, 0);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче