mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Athira Rajeev <atrajeev@linux.vnet.ibm.com>
To: Ian Rogers <irogers@google.com>,
	Arnaldo Carvalho de Melo <acme@kernel.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>,
	LKML <linux-kernel@vger.kernel.org>,
	linux-perf-users@vger.kernel.org, bpf@vger.kernel.org,
	Stephane Eranian <eranian@google.com>
Subject: Re: [PATCH 2/3] perf build: Use libtraceevent from the system
Date: Thu, 15 Dec 2022 12:40:36 +0530	[thread overview]
Message-ID: <346AAE98-7BB0-4639-A63D-3FBC331C721A@linux.vnet.ibm.com> (raw)
In-Reply-To: <CAP-5=fVVPDo_3cjKmumEVKDN2Zssz-ZU=nYVQFNr1xUGHxx-PQ@mail.gmail.com>



> On 14-Dec-2022, at 3:39 AM, Ian Rogers <irogers@google.com> wrote:
> 
> On Tue, Dec 13, 2022 at 1:53 AM Athira Rajeev
> <atrajeev@linux.vnet.ibm.com> wrote:
>> 
>> 
>> 
>>> On 12-Dec-2022, at 7:21 PM, Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
>>> 
>>> Em Fri, Dec 09, 2022 at 12:04:18PM +0530, Athira Rajeev escreveu:
>>>> 
>>>> 
>>>>> On 09-Dec-2022, at 4:02 AM, Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
>>>>> 
>>>>> Em Thu, Dec 08, 2022 at 07:04:52PM -0300, Arnaldo Carvalho de Melo escreveu:
>>>>>> Em Thu, Dec 08, 2022 at 12:21:20PM +0530, Athira Rajeev escreveu:
>>>>>>>> On 07-Dec-2022, at 10:57 PM, Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
>>>>>>>> Can you try again? tmp.perf/core? That "tmp." part means its a force
>>>>>>>> pushed branch, so I just force pushed with some arch specific fixes, now
>>>>>>>> I'm down to (removing the successful builds and unrelated failures, now
>>>>>>>> related to libbpf's F_DUPFD_CLOEXEC kaboom):
>>>>>> 
>>>>>>> Ok Arnaldo, Sure, I will check with updated branch
>>>>>> 
>>>>>>>> 5     7.38 fedora:34                     : FAIL gcc version 11.3.1 20220421 (Red Hat 11.3.1-2) (GCC)
>>>>>>>> /git/perf-6.1.0-rc6/tools/perf/util/evsel.c: In function ‘evsel__rawptr’:
>>>>>>>> /git/perf-6.1.0-rc6/tools/perf/util/evsel.c:2787:36: error: ‘TEP_FIELD_IS_RELATIVE’ undeclared (first use in this function); did you mean ‘TEP_FIELD_IS_FLAG’?
>>>>>>>>  2787 |                 if (field->flags & TEP_FIELD_IS_RELATIVE)
>>>>>>>>       |                                    ^~~~~~~~~~~~~~~~~~~~~
>>>>>>>>       |                                    TEP_FIELD_IS_FLAG
>>>>>> 
>>>>>>> I observed same issue as updated here:
>>>>>>> https://lore.kernel.org/lkml/10476A85-3F75-4C91-AB5B-E5B136F31297@linux.vnet.ibm.com/
>>>>>> 
>>>>>>> Looks like TEP_FIELD_IS_RELATIVE is not defined in header file of the system installed version.
>>>>>>> whereas it is there in header file in tools/lib/traceevent
>>>>>> 
>>>>>>> # grep TEP_FIELD_IS_RELATIVE /usr/include/traceevent/event-parse.h
>>>>>>> # grep TEP_FIELD_IS_RELATIVE ../lib/traceevent/event-parse.h
>>>>>>>  TEP_FIELD_IS_RELATIVE   = 256,
>>>>>> 
>>>>>> Right, I had noticed that as well, so as a prep patch I'm adding the
>>>>>> patch below, before Ian's. Please check and provide an
>>>>>> Acked-by/Tested-by/Reviewed-by if possible.
>>>>> 
>>>>> I ended up with the one below, _after_ Ian's patch as I had some trouble grafting
>>>>> it before and had already tested it this way multiple times, I'm pushing
>>>>> this to tmp/perf.core.
>>>>> 
>>>>> - Arnaldo
>>>> 
>>>> 
>>>> Hi Arnaldo, Ian
>>>> 
>>>> Thanks for the fixes.
>>>> 
>>>> Since we changed “CONFIG_TRACEEVENT” to “CONFIG_LIBTRACEEVENT”,
>>>> below change is also needed in “arch/powerpc/util/Build”
>>>> 
>>>> diff --git a/tools/perf/arch/powerpc/util/Build b/tools/perf/arch/powerpc/util/Build
>>>> index 71e57f28abda..9889245c555c 100644
>>>> --- a/tools/perf/arch/powerpc/util/Build
>>>> +++ b/tools/perf/arch/powerpc/util/Build
>>>> @@ -1,5 +1,5 @@
>>>> perf-y += header.o
>>>> -perf-$(CONFIG_TRACEEVENT) += kvm-stat.o
>>>> +perf-$(CONFIG_LIBTRACEEVENT) += kvm-stat.o
>>>> perf-y += perf_regs.o
>>>> perf-y += mem-events.o
>>>> perf-y += sym-handling.o
>>>> 
>>>> With this change, I could successfully compile in these environment:
>>>> - Without libtraceevent-devel installed
>>>> - With libtraceevent-devel installed
>>>> - With “make NO_LIBTRACEEVENT=1”
>>>> 
>>>> With above change,
>>>> Acked-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com>
>>> 
>>> I did that and the same thing for other architectures, thanks for
>>> testing!
>>> 
>>> I'll now give a try at implementing it without
>>> tools/build/feature/test-libtraceevent-tep_field_is_relative.c, using
>>> just the version of libtraceevent, as Ian suggested.
>>> 
>>> It would be great if you could test it again then,
>>> 
>> 
>> Sure Arnaldo, I will test with updated code.
>> 
>> Thanks
>> Athira
> 
> 
> Thanks Athira and Arnaldo. It is a little strange to me to be using


Hi Arnaldo, Ian

Compile tested with updated tmp.perf/core and results are good

Thanks
Athira

> the shell to do a version number test. The intent was to be doing
> these in the code:
> #if LIBRTRACEEVENT_VERSION >= MAKE_LIBTRACEEVENT_VERSION(1, 5, 0)
> vs
> ...
> LIBTRACEEVENT_VERSION_WITH_TEP_FIELD_IS_RELATIVE := $(shell expr 1 \*
> 255 \* 255 + 5 \* 255 + 0) # 1.5.0
> ifeq ($(shell test $(LIBTRACEEVENT_VERSION_CPP) -gt
> $(LIBTRACEEVENT_VERSION_WITH_TEP_FIELD_IS_RELATIVE); echo $$?),0)
> CFLAGS += -DHAVE_LIBTRACEEVENT_TEP_FIELD_IS_RELATIVE
> endif
> ...
> #ifdef HAVE_LIBTRACEEVENT_TEP_FIELD_IS_RELATIVE
> I'm a little selfish as I'm maintaining a bazel build and a single
> version number to maintain is easier than lots of HAVE_... tests. I'm
> happy to follow Arnaldo's lead. I think the test should also be
> greater-equal rather than greater-than:
> https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/tree/include/traceevent/event-parse.h?h=libtraceevent-v1.5#n128
> 
> Thanks,
> Ian
> 
> 
> Ian
> 
>>> Thanks,
>>> 
>>> - Arnaldo
>>> 
>>> 
>>> diff --git a/tools/perf/arch/arm64/util/Build b/tools/perf/arch/arm64/util/Build
>>> index 88553c578ed7a1c4..78ef7115be3d91a7 100644
>>> --- a/tools/perf/arch/arm64/util/Build
>>> +++ b/tools/perf/arch/arm64/util/Build
>>> @@ -3,7 +3,7 @@ perf-y += machine.o
>>> perf-y += perf_regs.o
>>> perf-y += tsc.o
>>> perf-y += pmu.o
>>> -perf-$(CONFIG_TRACEEVENT) += kvm-stat.o
>>> +perf-$(CONFIG_LIBTRACEEVENT) += kvm-stat.o
>>> perf-$(CONFIG_DWARF)     += dwarf-regs.o
>>> perf-$(CONFIG_LOCAL_LIBUNWIND) += unwind-libunwind.o
>>> perf-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o
>>> diff --git a/tools/perf/arch/powerpc/util/Build b/tools/perf/arch/powerpc/util/Build
>>> index 71e57f28abdac7e9..9889245c555c4cfb 100644
>>> --- a/tools/perf/arch/powerpc/util/Build
>>> +++ b/tools/perf/arch/powerpc/util/Build
>>> @@ -1,5 +1,5 @@
>>> perf-y += header.o
>>> -perf-$(CONFIG_TRACEEVENT) += kvm-stat.o
>>> +perf-$(CONFIG_LIBTRACEEVENT) += kvm-stat.o
>>> perf-y += perf_regs.o
>>> perf-y += mem-events.o
>>> perf-y += sym-handling.o
>>> diff --git a/tools/perf/arch/s390/util/Build b/tools/perf/arch/s390/util/Build
>>> index aa8a5f05c9cb4706..db68840869979f2c 100644
>>> --- a/tools/perf/arch/s390/util/Build
>>> +++ b/tools/perf/arch/s390/util/Build
>>> @@ -1,5 +1,5 @@
>>> perf-y += header.o
>>> -perf-$(CONFIG_TRACEEVENT) += kvm-stat.o
>>> +perf-$(CONFIG_LIBTRACEEVENT) += kvm-stat.o
>>> perf-y += perf_regs.o
>>> 
>>> perf-$(CONFIG_DWARF) += dwarf-regs.o


  parent reply	other threads:[~2022-12-15  7:13 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                         ` [ALMOST ready] " Arnaldo Carvalho de Melo
2022-12-07 14:31                           ` 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 [this message]
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=346AAE98-7BB0-4639-A63D-3FBC331C721A@linux.vnet.ibm.com \
    --to=atrajeev@linux.vnet.ibm.com \
    --cc=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 \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®