From: Namhyung Kim <namhyung@kernel.org>
To: Ian Rogers <irogers@google.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Jiri Olsa <jolsa@kernel.org>,
Adrian Hunter <adrian.hunter@intel.com>,
Kan Liang <kan.liang@linux.intel.com>,
Athira Jajeev <atrajeev@linux.vnet.ibm.com>,
James Clark <james.clark@linaro.org>,
Dominique Martinet <asmadeus@codewreck.org>,
Yang Li <yang.lee@linux.alibaba.com>,
Colin Ian King <colin.i.king@gmail.com>,
Yang Jihong <yangjihong@bytedance.com>,
"Steinar H. Gunderson" <sesse@google.com>,
Oliver Upton <oliver.upton@linux.dev>,
Ilkka Koskinen <ilkka@os.amperecomputing.com>,
Ze Gao <zegao2021@gmail.com>, Weilin Wang <weilin.wang@intel.com>,
Ben Gainey <ben.gainey@arm.com>,
zhaimingbing <zhaimingbing@cmss.chinamobile.com>,
Zixian Cai <fzczx123@gmail.com>, Andi Kleen <ak@linux.intel.com>,
Paran Lee <p4ranlee@gmail.com>,
Thomas Falcon <thomas.falcon@intel.com>,
linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
"Steven Rostedt (Google)" <rostedt@goodmis.org>
Subject: Re: [PATCH v4 0/6] Avoid parsing tracepoint format just for id
Date: Fri, 8 Nov 2024 22:45:54 -0800 [thread overview]
Message-ID: <Zy8FIt2OMa5-GymZ@google.com> (raw)
In-Reply-To: <20241108184751.359237-1-irogers@google.com>
On Fri, Nov 08, 2024 at 10:47:45AM -0800, Ian Rogers wrote:
> The tracepoint format isn't needed to open an event, just the id for
> the config value. Refactor the use of evsel->tp_format to use an
> accessor that will lazily construct its value. In evsel__newtp_idx
> read the id so the config value can be set up/used.
>
> This allows tracepoints to be used without libtraceevent in a number
> of tests. Other functionality is enabled without libtracevent, such as
> mapping a tracepoint id back to its name. There may be some
> performance benefit to code using tracepoints but not using the format
> information.
>
> v4. Rebase due to conflict with 9ac98662dbd3 ("perf: event: Remove deadcode")
> v3. Whitespace changes, Arnaldo.
> v2. Add additional error checking/handling in evsel__tp_format.
>
> Ian Rogers (6):
> tool api fs: Correctly encode errno for read/write open failures
> perf trace-event: Constify print arguments
> perf trace-event: Always build trace-event-info.c
> perf evsel: Add/use accessor for tp_format
> perf evsel: Allow evsel__newtp without libtraceevent
> perf tests: Enable tests disabled due to tracepoint parsing
After applying this series, I'm seeing some test failures. But I don't
understand why it affects non-tracepoint events though.
$ sudo ./perf test -v pipe
--- start ---
test child forked, pid 3036123
1bde35-1bdecc l noploop
perf does have symbol 'noploop'
Record+report pipe test
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.210 MB - ]
[ perf record: Woken up 2 times to write data ]
[ perf record: Captured and wrote 0.517 MB - ]
[ perf record: Woken up 2 times to write data ]
[ perf record: Captured and wrote 0.516 MB - ]
Record+report pipe test [Success]
Inject -B build-ids test
0xa5c [0x17a4]: failed to process type: 80
Error:
failed to process sample
Inject build-ids test [Failed - cannot find noploop function in pipe #1]
Inject -b build-ids test
0xa5c [0x17a4]: failed to process type: 80
Error:
failed to process sample
Inject build-ids test [Failed - cannot find noploop function in pipe #1]
Inject --buildid-all build-ids test
0xa5c [0x17a4]: failed to process type: 80
Error:
failed to process sample
Inject build-ids test [Failed - cannot find noploop function in pipe #1]
Inject --mmap2-buildid-all build-ids test
0xa5c [0x17a4]: failed to process type: 80
Error:
failed to process sample
Inject build-ids test [Failed - cannot find noploop function in pipe #1]
---- end(-1) ----
84: perf pipe recording and injection test : FAILED!
$ sudo ./perf test -v Zstd
--- start ---
test child forked, pid 3036097
Collecting compressed record file:
500+0 records in
500+0 records out
256000 bytes (256 kB, 250 KiB) copied, 0.00169127 s, 151 MB/s
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.032 MB /tmp/perf.data.KBo, compressed (original 0.004 MB, ratio is 3.324) ]
Checking compressed events stats:
Couldn't decompress data
0x7ca8 [0x4f2]: failed to process type: 81 [Operation not permitted]
Error:
failed to process sample
---- end(-1) ----
86: Zstd perf.data compression/decompression : FAILED!
Thanks,
Namhyung
>
> tools/lib/api/fs/fs.c | 6 +-
> tools/perf/builtin-kmem.c | 12 +-
> tools/perf/builtin-kwork.c | 3 +-
> tools/perf/builtin-record.c | 2 -
> tools/perf/builtin-script.c | 9 +-
> tools/perf/builtin-trace.c | 79 +++++++++----
> tools/perf/tests/Build | 6 +-
> tools/perf/tests/builtin-test.c | 2 -
> tools/perf/tests/parse-events.c | 25 +---
> tools/perf/util/Build | 2 +-
> tools/perf/util/data-convert-bt.c | 10 +-
> tools/perf/util/data-convert-json.c | 8 +-
> tools/perf/util/evsel.c | 110 +++++++++++++-----
> tools/perf/util/evsel.h | 9 +-
> tools/perf/util/evsel_fprintf.c | 4 +-
> tools/perf/util/parse-events.c | 16 +--
> tools/perf/util/perf_event_attr_fprintf.c | 4 -
> .../util/scripting-engines/trace-event-perl.c | 3 +-
> .../scripting-engines/trace-event-python.c | 3 +-
> tools/perf/util/sort.c | 33 ++++--
> tools/perf/util/trace-event-parse.c | 2 +-
> tools/perf/util/trace-event-scripting.c | 10 +-
> tools/perf/util/trace-event.h | 2 +-
> 23 files changed, 214 insertions(+), 146 deletions(-)
>
> --
> 2.47.0.277.g8800431eea-goog
>
next prev parent reply other threads:[~2024-11-09 6:45 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-08 18:47 [PATCH v4 0/6] Avoid parsing tracepoint format just for id Ian Rogers
2024-11-08 18:47 ` [PATCH v4 1/6] tool api fs: Correctly encode errno for read/write open failures Ian Rogers
2024-11-08 18:47 ` [PATCH v4 2/6] perf trace-event: Constify print arguments Ian Rogers
2024-11-08 18:47 ` [PATCH v4 3/6] perf trace-event: Always build trace-event-info.c Ian Rogers
2024-11-08 18:47 ` [PATCH v4 4/6] perf evsel: Add/use accessor for tp_format Ian Rogers
2024-11-08 18:47 ` [PATCH v4 5/6] perf evsel: Allow evsel__newtp without libtraceevent Ian Rogers
2024-11-08 18:47 ` [PATCH v4 6/6] perf tests: Enable tests disabled due to tracepoint parsing Ian Rogers
2024-11-09 6:45 ` Namhyung Kim [this message]
2024-11-09 16:26 ` [PATCH v4 0/6] Avoid parsing tracepoint format just for id Ian Rogers
2024-11-09 17:04 ` Namhyung Kim
2024-11-13 18:06 ` Ian Rogers
2024-11-18 18:31 ` Namhyung Kim
2024-11-18 19:35 ` Ian Rogers
2024-11-18 21:57 ` Namhyung Kim
2024-11-18 22:46 ` 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=Zy8FIt2OMa5-GymZ@google.com \
--to=namhyung@kernel.org \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=ak@linux.intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=asmadeus@codewreck.org \
--cc=atrajeev@linux.vnet.ibm.com \
--cc=ben.gainey@arm.com \
--cc=colin.i.king@gmail.com \
--cc=fzczx123@gmail.com \
--cc=ilkka@os.amperecomputing.com \
--cc=irogers@google.com \
--cc=james.clark@linaro.org \
--cc=jolsa@kernel.org \
--cc=kan.liang@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mingo@redhat.com \
--cc=oliver.upton@linux.dev \
--cc=p4ranlee@gmail.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=sesse@google.com \
--cc=thomas.falcon@intel.com \
--cc=weilin.wang@intel.com \
--cc=yang.lee@linux.alibaba.com \
--cc=yangjihong@bytedance.com \
--cc=zegao2021@gmail.com \
--cc=zhaimingbing@cmss.chinamobile.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.