Re: [PATCH] perf session: Fix undeclared 'oe'

From: Murilo Opsfelder AraÃjo
Date: Wed Apr 11 2018 - 16:21:56 EST


On 04/11/2018 04:33 PM, Greg Kroah-Hartman wrote:
> On Wed, Apr 11, 2018 at 03:41:35PM -0300, Murilo Opsfelder Araujo wrote:
>> Using linux-3.18.y branch, perf build fails with the following:
>>
>> $ make -s -j16 -C tools/perf V=1 WERROR=0 NO_LIBUNWIND=1 HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_LIBNUMA=1 NO_STRLCPY=1 NO_BIONIC=1 prefix=/usr DESTDIR=/tmp/builddir/build all
>> [...]
>> util/session.c: In function â__perf_session__process_pipe_eventsâ:
>> util/session.c:1093:36: error: âoeâ undeclared (first use in this function)
>> ordered_events__set_copy_on_queue(oe, true);
>> ^
>> util/session.c:1093:36: note: each undeclared identifier is reported only once for each function it appears in
>>
>> This patch fixes it for linux-3.18.y branch.
>
> Why is this failing now? Has it always been broken? Is there an
> upstream patch that fixed this instead?
>

Hi, Greg.

We've caught this build issue this week. I'm not sure since when it's
failing.

The upstream patch that fixes this is:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=fa713a4eb9cebe5dec71b1bd11429603e17d841d

commit fa713a4eb9cebe5dec71b1bd11429603e17d841d
Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Date: Tue Mar 3 11:48:12 2015 -0300

perf ordered_events: Untangle from perf_session

But it doesn't apply straightforwardly. At
fa713a4eb9cebe5dec71b1bd11429603e17d841d, perf API and perf_evlist
struct are slightly different from linux-3.18.y.

A list of upstream patches for a clean backport (I think) would be:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=54245fdc357613633954bfd38cffb71cb9def067

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=75be989a7a18e9666efd92b846ee48bed79e8086

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=313e53b08e99b1dacf9ea2b0fbe97890db1ea95f

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9fa8727aa4d98d35ca50ef9cd8a50c6468af921d

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=fa713a4eb9cebe5dec71b1bd11429603e17d841d

Do you prefer all above patches backported to linux-3.18.y or just the
one-line fix I sent?

>> Fixes: 95b33b99cdd6 ("perf inject: Copy events when reordering events in pipe mode")
>
> Was this just a bad backport?

Some patches were left behind, I guess.

>
> thanks,
>
> greg k-h
>

Cheers
Murilo