All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ian Rogers <irogers@google.com>, Steven Rostedt <rostedt@goodmis.org>
Cc: Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
	Nick Desaulniers <ndesaulniers@google.com>,
	linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
	bpf@vger.kernel.org, Stephane Eranian <eranian@google.com>
Subject: [ALMOST ready] Re: [PATCH 2/3] perf build: Use libtraceevent from the system
Date: Wed, 7 Dec 2022 11:21:18 -0300	[thread overview]
Message-ID: <Y5ChXjt0uv/yDNwV@kernel.org> (raw)
In-Reply-To: <CAP-5=fW2Fdfo9njgXxCVDP0dF3gTsUtaPMh88uSC5bRVjp+1Uw@mail.gmail.com>

Em Tue, Dec 06, 2022 at 02:22:15PM -0800, Ian Rogers escreveu:
> On Tue, Dec 6, 2022 at 9:31 AM Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> > Em Tue, Dec 06, 2022 at 02:13:48PM -0300, Arnaldo Carvalho de Melo escreveu:
> > I'm missing some detail, this isn't working, util/trace-event.c is still
> > being built and linked.

> > The python binding should be usable without tracepoints, in fact its
> > first usage was just to have access to the perf metaevents, see
> > tools/perf/python/twatch.py.

> You're right. I'd assumed that if you were disabling libtraceevent
> then you'd also disable python. To fix the issue above you can do:

> --- a/tools/perf/util/python-ext-sources
> +++ b/tools/perf/util/python-ext-sources
> @@ -30,7 +30,6 @@ util/rblist.c
> util/counts.c
> util/print_binary.c
> util/strlist.c
> -util/trace-event.c
> ../lib/rbtree.c
> util/string.c
> util/symbol_fprintf.c

> but this needs making conditional (possibly in setup.py) on whether
> libtraceevent is present or not.

Ok, I fixed this by removing the util/trace-event.c file at setup.py
time, and removing it from the list of dependencies for python.so build,
etc.

With what I have at tmp.perf/core I'm being able to build with
combinations of:

- Having or not libtraceevent-devel installed

- Using NO_LIBTRACEEVENT=1

- The default build

All mixed up, but I wasn't so judicious so far, we need to add an entry
with NO_LIBTRACEVENT=1 to tools/perf/tests/, etc.

One thing I'm doing now is testing with the container builds, and I'm
afraid we have to delay deleting the in-kernel old copy of
tools/lib/traceevent till distros that don't ship libtraceevent as a
separate package are EOLed.

We need in those cases to fallback to tools/lib/traceevent/, with a
warning probably.

I'm now updating my container build recipes to install
libtraceevent-devel, when available, which isn't the case, for instance,
for almalinux:8, the first I tried updating.

Please take a look at:

https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git/commit/?h=tmp.perf/core

The HEAD for that branch has the list of changes I made to get this
going.

Also I have the feeling the warning about libtraceevent not being
available should be made more proeminent and detailed in what gets
removed if this new, important dependency isn't met...

I agree removing libtraceevent and adding yet another dependency to
building perf is important since the libtraceevent maintainers took the
decision of having it moved away from the kernel sources, but since this
has been a no-brainer for so long, the fallout of this decision may be
noticeable.

At least by now we have clear markings of where libtraceevent is used.

Thanks,

- Arnaldo

  reply	other threads:[~2022-12-07 14:22 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-05 22:59 [PATCH 0/3] libtraceevent from system and build fix Ian Rogers
2022-12-05 22:59 ` [PATCH 1/3] perf build: Fixes for LIBTRACEEVENT_DYNAMIC Ian Rogers
2022-12-05 22:59 ` [PATCH 2/3] perf build: Use libtraceevent from the system Ian Rogers
2022-12-06 16:15   ` Arnaldo Carvalho de Melo
2022-12-06 16:20     ` Arnaldo Carvalho de Melo
2022-12-06 16:23       ` Arnaldo Carvalho de Melo
2022-12-06 16:30         ` Arnaldo Carvalho de Melo
2022-12-06 16:37           ` Arnaldo Carvalho de Melo
2022-12-06 16:41             ` Arnaldo Carvalho de Melo
2022-12-06 17:01               ` Arnaldo Carvalho de Melo
2022-12-06 17:07                 ` Arnaldo Carvalho de Melo
2022-12-06 17:13                   ` Arnaldo Carvalho de Melo
2022-12-06 17:31                     ` Arnaldo Carvalho de Melo
2022-12-06 22:22                       ` Ian Rogers
2022-12-07 14:21                         ` Arnaldo Carvalho de Melo [this message]
2022-12-07 14:31                           ` [ALMOST ready] " Arnaldo Carvalho de Melo
2022-12-07 14:33                             ` Arnaldo Carvalho de Melo
2022-12-07 14:39                             ` Steven Rostedt
2022-12-07 16:02                               ` Arnaldo Carvalho de Melo
2022-12-07 16:56                                 ` Arnaldo Carvalho de Melo
2022-12-07 17:00                                 ` Ian Rogers
2022-12-07 14:37                           ` Arnaldo Carvalho de Melo
2022-12-07 13:38                       ` Athira Rajeev
2022-12-07 17:27                         ` Arnaldo Carvalho de Melo
2022-12-07 17:31                           ` Arnaldo Carvalho de Melo
2022-12-07 17:43                             ` Arnaldo Carvalho de Melo
2022-12-08  6:51                           ` Athira Rajeev
2022-12-08 22:04                             ` Arnaldo Carvalho de Melo
2022-12-08 22:32                               ` Arnaldo Carvalho de Melo
2022-12-08 23:00                                 ` Ian Rogers
2022-12-08 23:05                                   ` Ian Rogers
2022-12-12 14:13                                     ` Arnaldo Carvalho de Melo
2022-12-12 14:28                                     ` Arnaldo Carvalho de Melo
2022-12-09  6:34                                 ` Athira Rajeev
2022-12-12 13:51                                   ` Arnaldo Carvalho de Melo
2022-12-13  9:53                                     ` Athira Rajeev
2022-12-13 22:09                                       ` Ian Rogers
2022-12-13 22:33                                         ` Arnaldo Carvalho de Melo
2022-12-13 22:47                                           ` Ian Rogers
2022-12-15  7:10                                         ` Athira Rajeev
2022-12-07 13:33   ` Athira Rajeev
2022-12-07 13:46   ` Athira Rajeev
2022-12-07 16:16     ` Ian Rogers
2022-12-07 16:52     ` Arnaldo Carvalho de Melo
2022-12-05 22:59 ` [PATCH 3/3] perf build: Fix python/perf.so library's name Ian Rogers

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Y5ChXjt0uv/yDNwV@kernel.org \
    --to=acme@kernel.org \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=bpf@vger.kernel.org \
    --cc=eranian@google.com \
    --cc=irogers@google.com \
    --cc=jolsa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=ndesaulniers@google.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.