[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100403135427.GB14310@ghostprotocols.net>
Date: Sat, 3 Apr 2010 10:54:28 -0300
From: Arnaldo Carvalho de Melo <acme@...stprotocols.net>
To: Tom Zanussi <tzanussi@...il.com>
Cc: linux-kernel@...r.kernel.org, mingo@...e.hu, fweisbec@...il.com,
rostedt@...dmis.org, k-keiichi@...jp.nec.com
Subject: Re: [RFC v2][PATCH 08/11] perf: convert perf header build_ids into
build_id events
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
--
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