Re: [PATCH v2 3/4] perf build: Use libtraceevent from the system

From: Namhyung Kim
Date: Wed Nov 30 2022 - 14:05:58 EST


On Tue, Nov 29, 2022 at 10:30 PM Ian Rogers <irogers@xxxxxxxxxx> wrote:
>
> Remove the LIBTRACEEVENT_DYNAMIC and LIBTRACEFS_DYNAMIC. If
> libtraceevent isn't installed or NO_LIBTRACEEVENT=1 is passed to the
> build, don't compile in libtraceevent and libtracefs support. This
> also disables CONFIG_TRACE that controls "perf
> trace". CONFIG_TRACEEVENT is used to control enablement in
> Build/Makefiles, HAVE_LIBTRACEEVENT is used in C code. Without
> HAVE_LIBTRACEEVENT tracepoints are disabled and as such the commands
> kmem, kwork, lock, sched and timechart are removed. The majority of
> commands continue to work including "perf test".

Maybe we can have a different approach. I guess the trace data
access is isolated then we can make dummy interfaces when there's
no libtraceevent. This way we don't need to touch every command
and let it fail when it's asked.

The motivation is that we should be able to run the sub-commands
as much as possible. In fact, we could run 'record' part only on the
target machine and pass the data to the host for analysis with a
full-fledged perf. Also some commands like 'perf lock contention'
can run with or without libtraceevent (using BPF only).

Thanks,
Namhyung