From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ian Rogers <irogers@google.com>
Cc: "Wang, Weilin" <weilin.wang@intel.com>,
Namhyung Kim <namhyung@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Jiri Olsa <jolsa@kernel.org>,
"Hunter, Adrian" <adrian.hunter@intel.com>,
Kan Liang <kan.liang@linux.intel.com>,
"linux-perf-users@vger.kernel.org"
<linux-perf-users@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"Taylor, Perry" <perry.taylor@intel.com>,
"Alt, Samantha" <samantha.alt@intel.com>,
"Biggers, Caleb" <caleb.biggers@intel.com>
Subject: Re: [RFC PATCH v18 8/8] perf test: Add test for Intel TPEBS counting mode
Date: Tue, 13 Aug 2024 15:27:39 -0300 [thread overview]
Message-ID: <Zrulm_giiqaFP1li@x1> (raw)
In-Reply-To: <CAP-5=fX9pLRig7qJ+6Wk1g9ysDUDDKXMbo4s1GYvz28iAPs1iA@mail.gmail.com>
On Tue, Aug 13, 2024 at 10:48:21AM -0700, Ian Rogers wrote:
> On Tue, Aug 13, 2024 at 10:18 AM Wang, Weilin <weilin.wang@intel.com> wrote:
> > I just checkout the code and tested it. The failure is caused by a seg fault on a
> > perf_tool struct that is not initialized correctly. I think this is related to the patches
> > on struct perf_tool in this branch that applied right before the tpebs patches.
> > I was able to fix the seg fault by adding the perf_tool__fill_defaults() back. Since
> > Ian updated the code to replace this function, I think I need some advice on how
> > to use the new code to initialize perf_tool correctly here. Should I call the
> > perf_tool__init()?
> Yep. If you've added or refactored a tool struct the intent now is
> that you call perf_tool__init then override the functions you want to
> override. I don't mind to rebase those changes over your changes,
> Arnaldo if you want to drop those changes.
So I'm adding the patch below, which should be enough, right?
Now:
root@x1:~# perf test tpebs
123: test Intel TPEBS counting mode : Ok
root@x1:~# set -o vi
root@x1:~# perf test tpebs
123: test Intel TPEBS counting mode : Ok
root@x1:~# perf test -v tpebs
123: test Intel TPEBS counting mode : Ok
root@x1:~# perf test -vvv tpebs
123: test Intel TPEBS counting mode:
--- start ---
test child forked, pid 16603
Testing without --record-tpebs
Testing with --record-tpebs
---- end(0) ----
123: test Intel TPEBS counting mode : Ok
root@x1:~#
diff --git a/tools/perf/util/intel-tpebs.c b/tools/perf/util/intel-tpebs.c
index 3729caeba645a3e8..50a3c3e0716065f8 100644
--- a/tools/perf/util/intel-tpebs.c
+++ b/tools/perf/util/intel-tpebs.c
@@ -164,11 +164,12 @@ static void *__sample_reader(void *arg)
.path = PERF_DATA,
.file.fd = child->out,
};
- struct perf_tool tool = {
- .sample = process_sample_event,
- .feature = process_feature_event,
- .attr = perf_event__process_attr,
- };
+ struct perf_tool tool;
+
+ perf_tool__init(&tool, /*ordered_events=*/false);
+ tool.sample = process_sample_event;
+ tool.feature = process_feature_event;
+ tool.attr = perf_event__process_attr;
session = perf_session__new(&data, &tool);
if (IS_ERR(session))
Thanks for root causing, my mistake,
- Arnaldo
next prev parent reply other threads:[~2024-08-13 18:27 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-20 6:20 [RFC PATCH v18 0/8] TPEBS counting mode support weilin.wang
2024-07-20 6:20 ` [RFC PATCH v18 1/8] perf parse-events: Add a retirement latency modifier weilin.wang
2024-07-20 6:20 ` [RFC PATCH v18 2/8] perf data: Allow to use given fd in data->file.fd weilin.wang
2024-07-20 6:20 ` [RFC PATCH v18 3/8] perf stat: Fork and launch perf record when perf stat needs to get retire latency value for a metric weilin.wang
2024-08-05 19:40 ` Arnaldo Carvalho de Melo
2024-08-05 19:43 ` Arnaldo Carvalho de Melo
2024-08-05 20:19 ` Wang, Weilin
2024-08-05 20:20 ` Arnaldo Carvalho de Melo
2024-08-05 20:34 ` Wang, Weilin
2024-07-20 6:20 ` [RFC PATCH v18 4/8] perf stat: Plugin retire_lat value from sampled data to evsel weilin.wang
2024-07-20 6:20 ` [RFC PATCH v18 5/8] perf vendor events intel: Add MTL metric json files weilin.wang
2024-07-20 6:20 ` [RFC PATCH v18 6/8] perf stat: Add command line option for enabling tpebs recording weilin.wang
2024-07-20 6:21 ` [RFC PATCH v18 7/8] perf Document: Add TPEBS to Documents weilin.wang
2024-07-20 6:21 ` [RFC PATCH v18 8/8] perf test: Add test for Intel TPEBS counting mode weilin.wang
2024-08-13 1:24 ` Arnaldo Carvalho de Melo
2024-08-13 1:25 ` Arnaldo Carvalho de Melo
2024-08-13 17:18 ` Wang, Weilin
2024-08-13 17:48 ` Ian Rogers
2024-08-13 18:27 ` Arnaldo Carvalho de Melo [this message]
2024-08-13 18:36 ` Arnaldo Carvalho de Melo
2024-07-22 17:37 ` [RFC PATCH v18 0/8] TPEBS counting mode support Namhyung Kim
2024-08-05 15:10 ` Ian Rogers
2024-08-05 19:33 ` Arnaldo Carvalho de Melo
2024-08-05 23:33 ` Ian Rogers
2024-08-06 13:32 ` Arnaldo Carvalho de Melo
2024-08-06 14:35 ` Ian Rogers
2024-08-12 15:38 ` Ian Rogers
2024-08-12 16:35 ` Arnaldo Carvalho de Melo
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=Zrulm_giiqaFP1li@x1 \
--to=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=caleb.biggers@intel.com \
--cc=irogers@google.com \
--cc=jolsa@kernel.org \
--cc=kan.liang@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=perry.taylor@intel.com \
--cc=peterz@infradead.org \
--cc=samantha.alt@intel.com \
--cc=weilin.wang@intel.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 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.