All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>
Cc: linux-kernel@vger.kernel.org, Namhyung Kim <namhyung@kernel.org>,
	Aravinda Prasad <aravinda@linux.vnet.ibm.com>,
	Brendan Gregg <brendan.d.gregg@gmail.com>,
	Hemant Kumar <hemant@linux.vnet.ibm.com>,
	Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>,
	Oleg Nesterov <oleg@redhat.com>, Pekka Enberg <penberg@iki.fi>,
	Peter Zijlstra <peterz@infradead.org>,
	Srikar Dronamraju <srikar@linux.vnet.ibm.com>,
	Vasant Hegde <hegdevasant@linux.vnet.ibm.com>,
	systemtap@sourceware.org,
	Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: [PATCH 01/16] perf build-id: Move disable_buildid_cache() to util/build-id.c
Date: Wed, 19 Nov 2014 13:03:21 -0300	[thread overview]
Message-ID: <1416413016-19110-2-git-send-email-acme@kernel.org> (raw)
In-Reply-To: <1416413016-19110-1-git-send-email-acme@kernel.org>

From: Namhyung Kim <namhyung@kernel.org>

Also move static variable no_buildid_cache and check it in the
perf_session_cache_build_ids().

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Aravinda Prasad <aravinda@linux.vnet.ibm.com>
Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
Cc: Hemant Kumar <hemant@linux.vnet.ibm.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Pekka Enberg <penberg@iki.fi>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Cc: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Cc: systemtap@sourceware.org
Link: http://lkml.kernel.org/r/1415368677-3794-1-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/build-id.c | 11 +++++++++++
 tools/perf/util/build-id.h |  1 +
 tools/perf/util/header.c   | 10 +---------
 tools/perf/util/util.h     |  1 -
 4 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/tools/perf/util/build-id.c b/tools/perf/util/build-id.c
index dd2a3e52ada1..e8d79e5bfaf7 100644
--- a/tools/perf/util/build-id.c
+++ b/tools/perf/util/build-id.c
@@ -18,6 +18,9 @@
 #include "header.h"
 #include "vdso.h"
 
+
+static bool no_buildid_cache;
+
 int build_id__mark_dso_hit(struct perf_tool *tool __maybe_unused,
 			   union perf_event *event,
 			   struct perf_sample *sample,
@@ -251,6 +254,11 @@ int dsos__hit_all(struct perf_session *session)
 	return 0;
 }
 
+void disable_buildid_cache(void)
+{
+	no_buildid_cache = true;
+}
+
 int build_id_cache__add_s(const char *sbuild_id, const char *debugdir,
 			  const char *name, bool is_kallsyms, bool is_vdso)
 {
@@ -404,6 +412,9 @@ int perf_session__cache_build_ids(struct perf_session *session)
 	int ret;
 	char debugdir[PATH_MAX];
 
+	if (no_buildid_cache)
+		return 0;
+
 	snprintf(debugdir, sizeof(debugdir), "%s", buildid_dir);
 
 	if (mkdir(debugdir, 0755) != 0 && errno != EEXIST)
diff --git a/tools/perf/util/build-id.h b/tools/perf/util/build-id.h
index 666a3bd4f64e..8236319514d5 100644
--- a/tools/perf/util/build-id.h
+++ b/tools/perf/util/build-id.h
@@ -25,5 +25,6 @@ int perf_session__cache_build_ids(struct perf_session *session);
 int build_id_cache__add_s(const char *sbuild_id, const char *debugdir,
 			  const char *name, bool is_kallsyms, bool is_vdso);
 int build_id_cache__remove_s(const char *sbuild_id, const char *debugdir);
+void disable_buildid_cache(void);
 
 #endif
diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c
index 05fab7a188dc..b20e40c74468 100644
--- a/tools/perf/util/header.c
+++ b/tools/perf/util/header.c
@@ -24,8 +24,6 @@
 #include "build-id.h"
 #include "data.h"
 
-static bool no_buildid_cache = false;
-
 static u32 header_argc;
 static const char **header_argv;
 
@@ -191,8 +189,7 @@ static int write_build_id(int fd, struct perf_header *h,
 		pr_debug("failed to write buildid table\n");
 		return err;
 	}
-	if (!no_buildid_cache)
-		perf_session__cache_build_ids(session);
+	perf_session__cache_build_ids(session);
 
 	return 0;
 }
@@ -2791,8 +2788,3 @@ int perf_event__process_build_id(struct perf_tool *tool __maybe_unused,
 				 session);
 	return 0;
 }
-
-void disable_buildid_cache(void)
-{
-	no_buildid_cache = true;
-}
diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h
index 7dc44cfe25b3..76d23d83eae5 100644
--- a/tools/perf/util/util.h
+++ b/tools/perf/util/util.h
@@ -154,7 +154,6 @@ extern void set_die_routine(void (*routine)(const char *err, va_list params) NOR
 
 extern int prefixcmp(const char *str, const char *prefix);
 extern void set_buildid_dir(void);
-extern void disable_buildid_cache(void);
 
 static inline const char *skip_prefix(const char *str, const char *prefix)
 {
-- 
1.9.3


  reply	other threads:[~2014-11-19 16:04 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-19 16:03 [GIT PULL 00/16] perf/core improvements and fixes Arnaldo Carvalho de Melo
2014-11-19 16:03 ` Arnaldo Carvalho de Melo [this message]
2014-11-19 16:03 ` [PATCH 02/16] perf tools: Clean up libelf feature support code Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 03/16] perf symbols: Fallback to kallsyms when using the minimal 'ELF' loader Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 04/16] perf test: fix typo in python test Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 05/16] perf tools: Fix annotation with kcore Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 06/16] perf callchain: Factor out adding new call chain entries Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 07/16] perf callchain: Use al.addr to set up call chain Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 08/16] perf callchain: Use a common function to resolve symbol or name Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 09/16] perf tools: Only print base source file for srcline Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 10/16] perf annotate: Support source line numbers in annotate Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 11/16] perf hists: Fix up srcline histogram key formatting Arnaldo Carvalho de Melo
2014-11-19 16:16   ` Andi Kleen
2014-11-19 16:03 ` [PATCH 12/16] perf diff: Add missing handler for PERF_RECORD_MMAP2 events Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 13/16] perf evsel: Fix ftrace:function event recording Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 14/16] perf evlist: Do not poll events that use the system_wide flag Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 15/16] perf tools: Add perf-read-vdso32 and perf-read-vdsox32 to .gitignore Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 16/16] perf tools: Only override the default :tid comm entry Arnaldo Carvalho de Melo
2014-11-20  7:33 ` [GIT PULL 00/16] perf/core improvements and fixes Ingo Molnar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1416413016-19110-2-git-send-email-acme@kernel.org \
    --to=acme@kernel.org \
    --cc=acme@redhat.com \
    --cc=aravinda@linux.vnet.ibm.com \
    --cc=brendan.d.gregg@gmail.com \
    --cc=hegdevasant@linux.vnet.ibm.com \
    --cc=hemant@linux.vnet.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=masami.hiramatsu.pt@hitachi.com \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    --cc=oleg@redhat.com \
    --cc=penberg@iki.fi \
    --cc=peterz@infradead.org \
    --cc=srikar@linux.vnet.ibm.com \
    --cc=systemtap@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.