[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <55D49F87.4060308@intel.com>
Date: Wed, 19 Aug 2015 18:23:51 +0300
From: Adrian Hunter <adrian.hunter@...el.com>
To: Arnaldo Carvalho de Melo <acme@...nel.org>,
Arnaldo Carvalho de Melo <arnaldo.melo@...il.com>,
Jiri Olsa <jolsa@...hat.com>, Jiri Olsa <jolsa@...nel.org>
CC: linux-kernel@...r.kernel.org, torvalds@...ux-foundation.org,
mingo@...nel.org
Subject: Re: [PATCH 3/3] perf tools: Fix buildid processing
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@...el.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,
> },
> };
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists