From: Adrian Hunter <adrian.hunter@intel.com>
To: Arnaldo Carvalho de Melo <acme@kernel.org>,
Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com>,
Jiri Olsa <jolsa@redhat.com>, Jiri Olsa <jolsa@kernel.org>
Cc: linux-kernel@vger.kernel.org, torvalds@linux-foundation.org,
mingo@kernel.org
Subject: Re: [PATCH 3/3] perf tools: Fix buildid processing
Date: Wed, 19 Aug 2015 18:23:51 +0300 [thread overview]
Message-ID: <55D49F87.4060308@intel.com> (raw)
In-Reply-To: <1439994561-27436-4-git-send-email-adrian.hunter@intel.com>
On 19/08/2015 5:29 p.m., Adrian Hunter wrote:
> After recording, 'perf record' post-processes the data to
> determine which buildids are needed. That processing must
> process the data in time order, if possible, because
> otherwise dependent events, like forks and mmaps, will
> not make sense.
>
> Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
> ---
> tools/perf/builtin-record.c | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
> index de165a1b9240..f36b88938499 100644
> --- a/tools/perf/builtin-record.c
> +++ b/tools/perf/builtin-record.c
> @@ -500,6 +500,15 @@ static int __cmd_record(struct record *rec, int argc, const char **argv)
> return -1;
> }
>
> + /*
> + * Normally perf_session__new would do this, but it doesn't have the
> + * evlist.
> + */
> + if (rec->tool.ordered_events && !perf_evlist__sample_id_all(rec->evlist)) {
> + dump_printf("WARNING: No sample_id_all support, falling back to unordered processing\n");
> + rec->tool.ordered_events = false;
> + }
> +
In fact this chunk is misplaced, it needs to be below the call to record__open()
after which the attributes are correctly configured. And dump_printf() is no good
for 'perf record', pr_debug would be better. Don't have time to do that right now,
I'll do it tommorow unless Arnaldo fixes it up.
> fd = perf_data_file__fd(file);
> rec->session = session;
>
> @@ -965,9 +974,11 @@ static struct record record = {
> .tool = {
> .sample = process_sample_event,
> .fork = perf_event__process_fork,
> + .exit = perf_event__process_exit,
> .comm = perf_event__process_comm,
> .mmap = perf_event__process_mmap,
> .mmap2 = perf_event__process_mmap2,
> + .ordered_events = true,
> },
> };
>
>
next prev parent reply other threads:[~2015-08-19 15:23 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-19 14:29 [PATCH 0/3] perf tools: Fix buildid processing Adrian Hunter
2015-08-19 14:29 ` [PATCH 1/3] perf tools: Avoid deadlock when map_groups are broken Adrian Hunter
2015-08-20 9:59 ` [tip:perf/core] " tip-bot for Adrian Hunter
2015-08-19 14:29 ` [PATCH 2/3] perf tools: Make fork event processing more resilient Adrian Hunter
2015-08-20 10:00 ` [tip:perf/core] " tip-bot for Adrian Hunter
2015-08-19 14:29 ` [PATCH 3/3] perf tools: Fix buildid processing Adrian Hunter
2015-08-19 15:23 ` Adrian Hunter [this message]
2015-08-19 15:42 ` Arnaldo Carvalho de Melo
2015-08-20 10:00 ` [tip:perf/core] " tip-bot for Adrian Hunter
2015-08-19 15:22 ` [PATCH 0/3] " Jiri Olsa
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=55D49F87.4060308@intel.com \
--to=adrian.hunter@intel.com \
--cc=acme@kernel.org \
--cc=arnaldo.melo@gmail.com \
--cc=jolsa@kernel.org \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=torvalds@linux-foundation.org \
/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