Re: [PATCH 08/10] perf tool: Unify handling of features when writingfeature section

From: Robert Richter
Date: Tue Dec 06 2011 - 11:34:23 EST


On 06.12.11 11:36:30, Arnaldo Carvalho de Melo wrote:
> Em Tue, Dec 06, 2011 at 11:32:38AM +0100, Robert Richter escreveu:
> > Also moving special code for HEADER_BUILD_ID out to write_build_id().
>
> For this one I just would add a big fat warning that if there are
> build-ids on the system but the table can't be written, then extreme
> care has to be taken when doing a perf report.
>
> I.e. one has to be completely sure that the binaries hasn't changed if
> not validating the build-ids.
>
> If you fix that please add this warning as well when no build-ids are
> found, which hopefully is the odd case these days as all distros I'm
> aware of have build-ids in all DSOs.

What about the following change in addition? perf record then still
stops with an error, but --no-buildid could be used to proceed anyway:

diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index 766fa0a..80e08ca 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -493,6 +493,13 @@ static int __cmd_record(struct perf_record *rec, int argc, const char **argv)
return err;
}

+ if (!no_buildid
+ && !perf_header__has_feat(&session->header, HEADER_BUILD_ID)) {
+ pr_err("Couldn't generate buildids. "
+ "Use --no-buildid option to profile anyway.\n");
+ return -1;
+ }
+
rec->post_processing_offset = lseek(output, 0, SEEK_CUR);

machine = perf_session__find_host_machine(session);


-Robert

--
Advanced Micro Devices, Inc.
Operating System Research Center

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/