From 04077cd75932a81bcf262cfe98fa59d57042d2d3 Mon Sep 17 00:00:00 2001 From: Robert Richter Date: Thu, 15 Dec 2011 17:32:40 +0100 Subject: [PATCH] --- yaml --- r: 288639 b: refs/heads/master c: 781ba9d2ed9df07dbb413fb5ee80ef7d353841c9 h: refs/heads/master i: 288637: 22d0f0805f9bcba2b2c3d4f0398d2d09da2dbeec 288635: 2374407b4864cc04a75fbd2383e6595bab0ba7c7 288631: 5d7dba423dfab20a4b1167147087df03dbc72af1 288623: 000443a6f09dbab0f318af5378c220638523a2a0 288607: 3a7341be2fb273cd84e4c0279458338664e2f488 288575: 3bcbab84e01f31cb705d875085b5ceda716b276e 288511: c86ec1a70f3d84b21dda5fcd5600fc576d6aeaeb v: v3 --- [refs] | 2 +- trunk/tools/perf/builtin-record.c | 28 +++++++++------------------- trunk/tools/perf/util/header.h | 1 + 3 files changed, 11 insertions(+), 20 deletions(-) diff --git a/[refs] b/[refs] index 2f77cfc64b9f..05a315779f7f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4eced2347c447c9409877368fc52478c356b4767 +refs/heads/master: 781ba9d2ed9df07dbb413fb5ee80ef7d353841c9 diff --git a/trunk/tools/perf/builtin-record.c b/trunk/tools/perf/builtin-record.c index 32870eef952f..f8d9a545dd6e 100644 --- a/trunk/tools/perf/builtin-record.c +++ b/trunk/tools/perf/builtin-record.c @@ -386,7 +386,7 @@ static int __cmd_record(struct perf_record *rec, int argc, const char **argv) { struct stat st; int flags; - int err, output; + int err, output, feat; unsigned long waking = 0; const bool forks = argc > 0; struct machine *machine; @@ -453,8 +453,14 @@ static int __cmd_record(struct perf_record *rec, int argc, const char **argv) rec->session = session; - if (!rec->no_buildid) - perf_header__set_feat(&session->header, HEADER_BUILD_ID); + for (feat = HEADER_FIRST_FEATURE; feat < HEADER_LAST_FEATURE; feat++) + perf_header__set_feat(&session->header, feat); + + if (rec->no_buildid) + perf_header__clear_feat(&session->header, HEADER_BUILD_ID); + + if (!have_tracepoints(&evsel_list->entries)) + perf_header__clear_feat(&session->header, HEADER_TRACE_INFO); if (!rec->file_new) { err = perf_session__read_header(session, output); @@ -462,22 +468,6 @@ static int __cmd_record(struct perf_record *rec, int argc, const char **argv) goto out_delete_session; } - if (have_tracepoints(&evsel_list->entries)) - perf_header__set_feat(&session->header, HEADER_TRACE_INFO); - - perf_header__set_feat(&session->header, HEADER_HOSTNAME); - perf_header__set_feat(&session->header, HEADER_OSRELEASE); - perf_header__set_feat(&session->header, HEADER_ARCH); - perf_header__set_feat(&session->header, HEADER_CPUDESC); - perf_header__set_feat(&session->header, HEADER_NRCPUS); - perf_header__set_feat(&session->header, HEADER_EVENT_DESC); - perf_header__set_feat(&session->header, HEADER_CMDLINE); - perf_header__set_feat(&session->header, HEADER_VERSION); - perf_header__set_feat(&session->header, HEADER_CPU_TOPOLOGY); - perf_header__set_feat(&session->header, HEADER_TOTAL_MEM); - perf_header__set_feat(&session->header, HEADER_NUMA_TOPOLOGY); - perf_header__set_feat(&session->header, HEADER_CPUID); - if (forks) { err = perf_evlist__prepare_workload(evsel_list, opts, argv); if (err < 0) { diff --git a/trunk/tools/perf/util/header.h b/trunk/tools/perf/util/header.h index ac4ec956024e..e68f617d082f 100644 --- a/trunk/tools/perf/util/header.h +++ b/trunk/tools/perf/util/header.h @@ -11,6 +11,7 @@ enum { HEADER_RESERVED = 0, /* always cleared */ + HEADER_FIRST_FEATURE = 1, HEADER_TRACE_INFO = 1, HEADER_BUILD_ID,