Em Fri, Jul 28, 2023 at 09:01:11AM -0700, Ian Rogers escreveu: > On Fri, Jul 28, 2023 at 7:54 AM Arnaldo Carvalho de Melo > <a...@kernel.org> wrote: > > > > Em Tue, Jul 25, 2023 at 11:46:49AM +0530, Aditya Gupta escreveu: > > > Currently we depend on output of 'perf record -e "sched:sched_switch"', to > > > check whether perf was built with libtraceevent support. > > > > > > Instead, a more straightforward approach can be to check the build > > > options, > > > using 'perf version --build-options', to check for libtraceevent support. > > > > > > When perf is compiled WITHOUT libtraceevent ('make NO_LIBTRACEEVENT=1'), > > > 'perf version --build-options' outputs (output trimmed): > > > > > > ... > > > libtraceevent: [ OFF ] # HAVE_LIBTRACEEVENT > > > ... > > > > > > While, when perf is compiled WITH libtraceevent, > > > > > > 'perf version --build-options' outputs: > > > > > > ... > > > libtraceevent: [ on ] # HAVE_LIBTRACEEVENT > > > ... > > > > > > Suggested-by: Ian Rogers <irog...@google.com> > > > Signed-off-by: Aditya Gupta <adit...@linux.ibm.com> > > > --- > > > > > > tools/perf/tests/shell/test_task_analyzer.sh | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/tools/perf/tests/shell/test_task_analyzer.sh > > > b/tools/perf/tests/shell/test_task_analyzer.sh > > > index 0095abbe20ca..a28d784987b4 100755 > > > --- a/tools/perf/tests/shell/test_task_analyzer.sh > > > +++ b/tools/perf/tests/shell/test_task_analyzer.sh > > > @@ -52,7 +52,7 @@ find_str_or_fail() { > > > > > > # check if perf is compiled with libtraceevent support > > > skip_no_probe_record_support() { > > > - perf record -e "sched:sched_switch" -a -- sleep 1 2>&1 | grep > > > "libtraceevent is necessary for tracepoint support" && return 2 > > > + perf version --build-options | grep HAVE_LIBTRACEEVENT | grep -q > > > OFF && return 2 > > > return 0 > > > > I'll apply this, but please consider adding a: > > > > perf build --has libtraceevent > > That's a nice idea. You mean add a script like perf-archive.sh?
Nope, I would just add a new builtin-build.c (or some other more suitable name to query what was built into perf) and then it would just do a simple search on the same array that 'perf version --build-options' currently uses (or the array that it would then share with 'perf build', I haven't looked at the source code.). So instead of a series of fork + execs we would just have one. - Arnaldo > Perhaps this flag should be supported by perf version instead. > > Thanks, > Ian > > > subcommand to have that query made more compact and to avoid the two > > extra grep. > > > > BTW, I'll change that to: > > > > [acme@quaco perf-tools-next]$ perf version --build-options | grep " on .* > > HAVE_LIBTRACEEVENT" > > libtraceevent: [ on ] # HAVE_LIBTRACEEVENT > > [acme@quaco perf-tools-next]$ > > > > replacing "on" with OFF, so that we have just one grep. > > > > Thanks, > > > > - Arnaldo > > > > > } > > > > > > -- > > > 2.41.0 > > > > > > > -- > > > > - Arnaldo -- - Arnaldo