Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1697189
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 29/40] perf top: Support lookup of symbols in other mount namespaces. |
| Date | 2017-07-26 16:30 +0200 |
| Message-ID | <u7vu3-1s1-47@gated-at.bofh.it> (permalink) |
| References | <u7vkm-1ob-7@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
From: Krister Johansen <kjlx@templeofstupid.com>
The perf top command needs to unshare its fs from the helper threads in
order to successfully setns(2) during its symbol lookup. It also needs
to impelement a force flag to ignore ownership of perf-<pid>.map files.
Signed-off-by: Krister Johansen <kjlx@templeofstupid.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas-Mich Richter <tmricht@linux.vnet.ibm.com>
Link: http://lkml.kernel.org/r/1499305693-1599-6-git-send-email-kjlx@templeofstupid.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/Documentation/perf-top.txt | 4 ++++
tools/perf/builtin-top.c | 15 +++++++++++++++
2 files changed, 19 insertions(+)
diff --git a/tools/perf/Documentation/perf-top.txt b/tools/perf/Documentation/perf-top.txt
index e71d63843f45..d864ea6fd367 100644
--- a/tools/perf/Documentation/perf-top.txt
+++ b/tools/perf/Documentation/perf-top.txt
@@ -237,6 +237,10 @@ Default is to monitor all CPUS.
--hierarchy::
Enable hierarchy output.
+--force::
+ Don't do ownership validation.
+
+
INTERACTIVE PROMPTING KEYS
--------------------------
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index e5a8f249077f..ee954bde7e3e 100644
--- a/tools/perf/builtin-top.c
+++ b/tools/perf/builtin-top.c
@@ -587,6 +587,13 @@ static void *display_thread_tui(void *arg)
.refresh = top->delay_secs,
};
+ /* In order to read symbols from other namespaces perf to needs to call
+ * setns(2). This isn't permitted if the struct_fs has multiple users.
+ * unshare(2) the fs so that we may continue to setns into namespaces
+ * that we're observing.
+ */
+ unshare(CLONE_FS);
+
perf_top__sort_new_samples(top);
/*
@@ -628,6 +635,13 @@ static void *display_thread(void *arg)
struct perf_top *top = arg;
int delay_msecs, c;
+ /* In order to read symbols from other namespaces perf to needs to call
+ * setns(2). This isn't permitted if the struct_fs has multiple users.
+ * unshare(2) the fs so that we may continue to setns into namespaces
+ * that we're observing.
+ */
+ unshare(CLONE_FS);
+
display_setup_sig();
pthread__unblock_sigwinch();
repeat:
@@ -1206,6 +1220,7 @@ int cmd_top(int argc, const char **argv)
"Show raw trace event output (do not use print fmt or plugins)"),
OPT_BOOLEAN(0, "hierarchy", &symbol_conf.report_hierarchy,
"Show entries in a hierarchy"),
+ OPT_BOOLEAN(0, "force", &symbol_conf.force, "don't complain, do it"),
OPT_END()
};
const char * const top_usage[] = {
--
2.9.4
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[GIT PULL 00/40] perf/core improvements and fixes Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-07-26 16:20 +0200 [PATCH 15/40] tools include: Adopt strstarts() from the kernel Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-07-26 16:20 +0200 [PATCH 30/40] perf script: Remove some bogus error handling Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-07-26 16:30 +0200 [PATCH 39/40] perf annotate stdio: Fix column header when using --show-total-period Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-07-26 16:30 +0200 [PATCH 33/40] perf script python: Add sample_read to dict Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-07-26 16:30 +0200 [PATCH 22/40] perf annotate stdio: Fix --show-total-period Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-07-26 16:30 +0200 [PATCH 40/40] perf tools: Add tools/include/uapi/asm-generic/fcntl.h to the MANIFEST Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-07-26 16:30 +0200 [PATCH 38/40] perf jevents: Make build fail on JSON parse error Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-07-26 16:30 +0200 [PATCH 36/40] perf report: Make --branch-history work without callgraphs(-g) option in perf record Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-07-26 16:30 +0200 [PATCH 26/40] perf annotate: Process tracing data in pipe mode Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-07-26 16:30 +0200 [PATCH 29/40] perf top: Support lookup of symbols in other mount namespaces. Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-07-26 16:30 +0200 [PATCH 32/40] perf script python: Refactor creation of perf sample dict Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-07-26 16:30 +0200 [PATCH 23/40] perf report: Fix kernel symbol adjustment for s390x Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-07-26 16:30 +0200 [PATCH 28/40] perf evsel: Add verbose output for sys_perf_event_open fallback Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-07-26 16:30 +0200 [PATCH 35/40] perf script python: Generate hooks with additional argument Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-07-26 16:30 +0200 [PATCH 21/40] perf annotate: Do not overwrite sample->period Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-07-26 16:30 +0200 [PATCH 27/40] perf jvmti: Fix linker error when libelf config is disabled Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-07-26 16:30 +0200 [PATCH 31/40] perf script python: Allocate memory only if handler exists Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-07-26 16:30 +0200 [PATCH 34/40] perf script python: Add perf_sample dict to tracepoint handlers Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-07-26 16:30 +0200 [PATCH 25/40] perf tools: Add EXCLUDE_EXTLIBS and EXTRA_PERFLIBS to makefile Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-07-26 16:30 +0200 [PATCH 24/40] perf cgroup: Fix refcount usage Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-07-26 16:30 +0200 [PATCH 37/40] perf report: Tag branch type/flag on "to" and tag cycles on "from" Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-07-26 16:30 +0200 [PATCH 03/40] perf trace: Add missing ' = ' in the default formatting of syscall returns Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-07-26 16:40 +0200 [PATCH 05/40] perf trace: Allow allocating sc->arg_fmt even without the syscall tracepoint Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-07-26 16:40 +0200 [PATCH 01/40] perf intel-pt: Set no_aux_samples for the tracking event Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-07-26 16:40 +0200 [PATCH 04/40] perf trace beauty mmap: Ignore 'fd' and 'offset' args for MAP_ANONYMOUS Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-07-26 16:40 +0200 [PATCH 17/40] perf annotate: Introduce struct sym_hist_entry Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-07-26 16:40 +0200 Re: [GIT PULL 00/40] perf/core improvements and fixes Ingo Molnar <mingo@kernel.org> - 2017-07-26 19:20 +0200
csiph-web