perf: Convert perf header build_ids into build_id events

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.

Signed-off-by: Tom Zanussi <tzanussi@gmail.com>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Cc: fweisbec@gmail.com
Cc: rostedt@goodmis.org
Cc: k-keiichi@bx.jp.nec.com
Cc: acme@ghostprotocols.net
LKML-Reference: <1270184365-8281-9-git-send-email-tzanussi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Tom Zanussi
2010-04-01 23:59:22 -05:00
committed by Ingo Molnar
parent 9215545e99
commit c7929e4727
8 changed files with 121 additions and 4 deletions

View File

@@ -426,10 +426,19 @@ static int process_buildids(void)
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");
}
}
static int __cmd_record(int argc, const char **argv)