From: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
To: Tom Zanussi <tzanussi@gmail.com>
Cc: linux-kernel@vger.kernel.org, mingo@elte.hu, fweisbec@gmail.com,
rostedt@goodmis.org, k-keiichi@bx.jp.nec.com
Subject: Re: [RFC v2][PATCH 08/11] perf: convert perf header build_ids into build_id events
Date: Sat, 3 Apr 2010 10:54:28 -0300 [thread overview]
Message-ID: <20100403135427.GB14310@ghostprotocols.net> (raw)
In-Reply-To: <1270184365-8281-9-git-send-email-tzanussi@gmail.com>
Em Thu, Apr 01, 2010 at 11:59:22PM -0500, Tom Zanussi escreveu:
> Bypasses the build_id perf header code and replaces it with a
> synthesized event and processing function that accomplishes the same
> thing, used when reading/writing perf data to/from a pipe.
> static void atexit_header(void)
> {
> - session->header.data_size += bytes_written;
> + if (!pipe_output) {
> + session->header.data_size += bytes_written;
> - process_buildids();
> - perf_header__write(&session->header, output, true);
> + process_buildids();
> + perf_header__write(&session->header, output, true);
> + } else {
> + int err;
> + err = event__synthesize_build_ids(process_synthesized_event,
> + session);
> + if (err < 0)
> + pr_err("Couldn't synthesize build ids.\n");
Humm, getting everything as events looks elegant, but for the buildid
case... when processing samples we need to _first_ have the build-ids,
hence they are in the header.
We only generate them after collecting all samples because it would
disturb the system if we look at them in the ELF files when we get
PERF_RECORD_MMAP events.
In live mode we will be resolving symbols as we get samples, so I fail
to see how synthesizing the build-ids as a last step will help.
With build-ids events we can at least generate it in advance for the
kernel and modules, as it is a restriced number of DSOs and we have them
easily accessible via /sys, but for the userspace bits...
- Arnaldo
next prev parent reply other threads:[~2010-04-03 13:54 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-02 4:59 [RFC v2][PATCH 0/7] perf: 'live mode' Tom Zanussi
2010-04-02 4:59 ` [RFC v2][PATCH 01/11] perf: add pipe-specific header read/write and event processing code Tom Zanussi
2010-04-14 10:03 ` [tip:perf/live] perf: Add " tip-bot for Tom Zanussi
2010-04-02 4:59 ` [RFC v2][PATCH 02/11] perf record: introduce special handling for pipe output Tom Zanussi
2010-04-14 10:03 ` [tip:perf/live] perf record: Introduce " tip-bot for Tom Zanussi
2010-04-02 4:59 ` [RFC v2][PATCH 03/11] perf report: introduce special handling for pipe input Tom Zanussi
2010-04-14 10:04 ` [tip:perf/live] perf report: Introduce " tip-bot for Tom Zanussi
2010-04-02 4:59 ` [RFC v2][PATCH 04/11] perf trace: introduce " Tom Zanussi
2010-04-14 10:04 ` [tip:perf/live] perf trace: Introduce " tip-bot for Tom Zanussi
2010-04-02 4:59 ` [RFC v2][PATCH 05/11] perf: convert perf header attrs into attr events Tom Zanussi
2010-04-14 10:04 ` [tip:perf/live] perf: Convert " tip-bot for Tom Zanussi
2010-04-02 4:59 ` [RFC v2][PATCH 06/11] perf: convert perf event types into event type events Tom Zanussi
2010-04-14 10:05 ` [tip:perf/live] perf: Convert " tip-bot for Tom Zanussi
2010-04-02 4:59 ` [RFC v2][PATCH 07/11] perf: convert perf tracing data into a tracing_data event Tom Zanussi
2010-04-14 10:05 ` [tip:perf/live] perf: Convert " tip-bot for Tom Zanussi
2010-04-02 4:59 ` [RFC v2][PATCH 08/11] perf: convert perf header build_ids into build_id events Tom Zanussi
2010-04-03 13:54 ` Arnaldo Carvalho de Melo [this message]
2010-04-14 10:05 ` [tip:perf/live] perf: Convert " tip-bot for Tom Zanussi
2010-04-02 4:59 ` [RFC v2][PATCH 09/11] perf trace/scripting: rwtop and sctop scripts Tom Zanussi
2010-04-14 10:05 ` [tip:perf/live] perf trace/scripting: Add " tip-bot for Tom Zanussi
2010-04-02 4:59 ` [RFC v2][PATCH 10/11] perf trace/scripting: enable scripting shell scripts for live mode Tom Zanussi
2010-04-14 10:06 ` [tip:perf/live] perf trace/scripting: Enable " tip-bot for Tom Zanussi
2010-04-02 4:59 ` [RFC v2][PATCH 11/11] perf trace: invoke live mode automatically if record/report not specified Tom Zanussi
2010-04-14 10:06 ` [tip:perf/live] perf trace: Invoke " tip-bot for Tom Zanussi
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=20100403135427.GB14310@ghostprotocols.net \
--to=acme@ghostprotocols.net \
--cc=fweisbec@gmail.com \
--cc=k-keiichi@bx.jp.nec.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=rostedt@goodmis.org \
--cc=tzanussi@gmail.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