Re: [PATCH v3 6/9] perf c2c: Support AUX trace

Jiri Olsa
2020-11-02T16:37:43Z

On Mon, Nov 02, 2020 at 06:08:23PM +0800, Leo Yan wrote:
> Hi Jiri,
>
> On Sat, Oct 31, 2020 at 09:21:03PM +0100, Jiri Olsa wrote:
> > On Wed, Oct 28, 2020 at 02:38:10PM +0800, Leo Yan wrote:
> > > This patches adds the AUX callbacks in session structure, so support
> > > AUX trace for "perf c2c" tool.
> > >
> > > Signed-off-by: Leo Yan <leo.yan@linaro.org>
> > > ---
> > > tools/perf/builtin-c2c.c | 4 ++++
> > > 1 file changed, 4 insertions(+)
> > >
> > > diff --git a/tools/perf/builtin-c2c.c b/tools/perf/builtin-c2c.c
> > > index 4d1a08e38233..24f4af997aab 100644
> > > --- a/tools/perf/builtin-c2c.c
> > > +++ b/tools/perf/builtin-c2c.c
> > > @@ -369,6 +369,10 @@ static struct perf_c2c c2c = {
> > > .exit = perf_event__process_exit,
> > > .fork = perf_event__process_fork,
> > > .lost = perf_event__process_lost,
> > > + .attr = perf_event__process_attr,
> > > + .auxtrace_info = perf_event__process_auxtrace_info,
> > > + .auxtrace = perf_event__process_auxtrace,
> > > + .auxtrace_error = perf_event__process_auxtrace_error,
> >
> > so this will process aux data, but don't you have to
> > say which events you want to synthesize?
> >
> > like in script/report via --itrace option?
>
> Indeed, we need to assign "session->itrace_synth_opts", otherwise, the
> tool cannot output synthesized samples.
>
> I tried to keep this patch set as small as possible, for easier
> reviewing.
>
> Comparing to the previous patch set, I moved out the patch "perf
> auxtrace: Add option '-M' for memory events" [1] from this patch set,
> at the end my purpose is to introduce the itrace option '-M' to
> synthesize memory event; and "perf c2c" tool can use memory event
> for output result. Thus "perf c2c" needs to add itrace_synth_opts:
>
> struct itrace_synth_opts itrace_synth_opts = {
> .set = true,
> .mem = true, /* Memory samples */
> .default_no_sample = true,
> };
>
> > aybe arm differs from x86 in this, and it's happening
> > in the background.. I have no idea ;-)
>
> There should have no any difference between archs for 'itrace'
> behaviour.
>
> Since I moved the patch "perf auxtrace: Add option '-M' for memory
> events" out from this patch set, thus I also left out the code for
> adding itrace_synth_opts. This introduced confusion for reviewing the
> change (sorry!), I will add back the patch "perf auxtrace: Add option
> '-M' for memory events" and add itrace_synth_opts for perf mem/c2c in
> next patch set.

ok either way works for me, I just wanted to understand ;-)

thanks,
jirka