stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrey Zhizhikin <andrey.z@gmail.com>
To: Salvatore Bonaccorso <carnil@debian.org>
Cc: stable@vger.kernel.org, Leo Yan <leo.yan@linaro.org>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>, Mark Rutland <mark.rutland@arm.com>,
	Namhyung Kim <namhyung@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Suzuki Poulouse <suzuki.poulose@arm.com>,
	Tor Jeremiassen <tor@ti.com>,
	linux-arm-kernel@lists.infradead.org,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Guenter Roeck <linux@roeck-us.net>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Subject: Re: [PATCH] Revert "perf cs-etm: Move definition of 'traceid_list' global variable from header file"
Date: Fri, 20 Nov 2020 20:29:26 +0100	[thread overview]
Message-ID: <CAHtQpK5af-MYz6pr6OzFUh4FwV9oG=2UxVPuaA2TBjLEvm6Tsw@mail.gmail.com> (raw)
In-Reply-To: <20201120183008.GA518373@eldamar.lan>

Hello Salvatore,

On Fri, Nov 20, 2020 at 7:30 PM Salvatore Bonaccorso <carnil@debian.org> wrote:
>
> Hi Andrey,
>
> On Fri, Nov 20, 2020 at 05:31:59PM +0100, Andrey Zhizhikin wrote:
> > Hello Salvatore,
> >
> > On Fri, Nov 20, 2020 at 4:53 PM Salvatore Bonaccorso <carnil@debian.org> wrote:
> > >
> > > Hi Andrey,
> > >
> > > On Fri, Nov 20, 2020 at 03:29:39PM +0100, Andrey Zhizhikin wrote:
> > > > Hello Salvatore,
> > > >
> > > > On Fri, Nov 20, 2020 at 2:34 PM Salvatore Bonaccorso <carnil@debian.org> wrote:
> > > > >
> > > > > Hi Andrey,
> > > > >
> > > > > On Fri, Nov 20, 2020 at 10:54:22AM +0100, Andrey Zhizhikin wrote:
> > > > > > On Fri, Nov 20, 2020 at 8:39 AM Salvatore Bonaccorso <carnil@debian.org> wrote:
> > > > > > >
> > > > > > > This reverts commit 168200b6d6ea0cb5765943ec5da5b8149701f36a upstream.
> > > > > > > (but only from 4.19.y)
> > > > > >
> > > > > > This revert would fail the build of 4.19.y with gcc10, I believe the
> > > > > > original commit was introduced to address exactly this case. If this
> > > > > > is intended behavior that 4.19.y is not compiled with newer gcc
> > > > > > versions - then this revert is OK.
> > > > >
> > > > > TTBOMK, this would not regress the build for newer gcc (specifically
> > > > > gcc10) as 4.19.158 is failing perf tool builds there as well (without
> > > > > the above commit reverted). Just as an example v4.19.y does not have
> > > > > cff20b3151cc ("perf tests bp_account: Make global variable static")
> > > > > which is there in v5.6-rc6 to fix build failures with 10.0.1.
> > > > >
> > > > > But it did regress builds with older gcc's as for instance used in
> > > > > Debian buster (gcc 8.3.0) since 4.19.152.
> > > > >
> > > > > Do I possibly miss something? If there is a solution to make it build
> > > > > with newer GCCs and *not* regress previously working GCC versions then
> > > > > this is surely the best outcome though.
> > > >
> > > > I guess (and from what I understand in Leo's reply), porting of
> > > > 95c6fe970a01 ("perf cs-etm: Change tuple from traceID-CPU# to
> > > > traceID-metadata") should solve the issue for both older and newer gcc
> > > > versions.
> > > >
> > > > The breakage is now in
> > > > [tools/perf/util/cs-etm-decoder/cs-etm-decoder.c] file (which uses
> > > > traceid_list inside). This is solved with the above commit, which
> > > > concealed traceid_list internally inside [tools/perf/util/cs-etm.c]
> > > > file and exposed to [tools/perf/util/cs-etm-decoder/cs-etm-decoder.c]
> > > > via cs_etm__get_cpu() call.
> > > >
> > > > Can you try out to port that commit to see if that would solve your
> > > > regression?
> > >
> > > So something like the following will compile as well with the older
> > > gcc version.
> > >
> > > I realize: I mainline the order of the commits was:
> > >
> > > 95c6fe970a01 ("perf cs-etm: Change tuple from traceID-CPU# to traceID-metadata")
> > > 168200b6d6ea ("perf cs-etm: Move definition of 'traceid_list' global variable from header f
> > > ile")
> > >
> > > But to v4.19.y only 168200b6d6ea was backported, and while that was
> > > done I now realize the comment was also changed including the change
> > > fom 95c6fe970a01.
> > >
> > > Thus the proposed backported patch would drop the change in
> > > tools/perf/util/cs-etm.c to the comment as this was already done.
> > > Thecnically currently the comment would be wrong, because it reads:
> > >
> > > /* RB tree for quick conversion between traceID and metadata pointers */
> > >
> > > but backport of 95c6fe970a01 is not included.
> > >
> > > Would the right thing to do thus be:
> > >
> > > - Revert b801d568c7d8 "perf cs-etm: Move definition of 'traceid_list' global variable from header file"
> > > - Backport 95c6fe970a01 ("perf cs-etm: Change tuple from traceID-CPU# to traceID-metadata")
> > > - Backport 168200b6d6ea ("perf cs-etm: Move definition of 'traceid_list' global variable from header file")
> >
> > Yes, I believe this would be the correct course of action here; this
> > should cover the regression you've encountered and should ensure that
> > perf builds on both the "old" and "new" gcc versions.
>
> Although perf tools in v4.19.y won't compile with recent GCCs.
>
> Greg did already queued up the first part of it, so the revert. I
> think we can pick the later two commits again up after the v4.19.159
> release?

Sounds reasonable to me.

>
> Regards,
> Salvatore



-- 
Regards,
Andrey.

  reply	other threads:[~2020-11-20 19:30 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-20  7:39 [PATCH] Revert "perf cs-etm: Move definition of 'traceid_list' global variable from header file" Salvatore Bonaccorso
2020-11-20  8:34 ` Greg Kroah-Hartman
2020-11-20  9:54 ` Andrey Zhizhikin
2020-11-20 11:19   ` Leo Yan
2020-11-20 12:15     ` Andrey Zhizhikin
2020-11-20 13:34   ` Salvatore Bonaccorso
2020-11-20 14:29     ` Andrey Zhizhikin
2020-11-20 15:53       ` Salvatore Bonaccorso
2020-11-20 16:31         ` Andrey Zhizhikin
2020-11-20 18:30           ` Salvatore Bonaccorso
2020-11-20 19:29             ` Andrey Zhizhikin [this message]
2020-11-22 13:43         ` Leo Yan
2020-11-25 20:12           ` [PATCH 1/2] perf cs-etm: Change tuple from traceID-CPU# to traceID-metadata Salvatore Bonaccorso
2020-11-25 20:12             ` [PATCH 2/2] perf cs-etm: Move definition of 'traceid_list' global variable from header file Salvatore Bonaccorso
2020-11-25 20:23             ` [PATCH 1/2] perf cs-etm: Change tuple from traceID-CPU# to traceID-metadata Salvatore Bonaccorso
2020-11-26  1:35               ` Leo Yan
2020-11-26  4:52                 ` Salvatore Bonaccorso

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='CAHtQpK5af-MYz6pr6OzFUh4FwV9oG=2UxVPuaA2TBjLEvm6Tsw@mail.gmail.com' \
    --to=andrey.z@gmail.com \
    --cc=acme@redhat.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=carnil@debian.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jolsa@redhat.com \
    --cc=leo.yan@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux@roeck-us.net \
    --cc=mark.rutland@arm.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=stable@vger.kernel.org \
    --cc=suzuki.poulose@arm.com \
    --cc=tor@ti.com \
    /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;
as well as URLs for NNTP newsgroup(s).