All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH] perf tools: Don't set inherit bit for system wide evsel
@ 2015-10-23 10:43 Wang Nan
  2015-10-23 13:51 ` Arnaldo Carvalho de Melo
  0 siblings, 1 reply; 7+ messages in thread
From: Wang Nan @ 2015-10-23 10:43 UTC (permalink / raw)
  To: acme
  Cc: linux-kernel, Wang Nan, Arnaldo Carvalho de Melo,
	Alexei Starovoitov, Peter Zijlstra, Li Zefan, pi3orama

Inherit bit is useless for a system wide evsel [1]. Further kernel
improvements are giving more constrain [2] on inherit events. This
patch set inherit bit to 0 to avoid potential constrains.

[1] http://lkml.kernel.org/r/20151022124142.GQ17308@twins.programming.kicks-ass.net
[2] http://lkml.kernel.org/r/1445559014-4667-1-git-send-email-ast@kernel.org

Signed-off-by: Wang Nan <wangnan0@huawei.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Alexei Starovoitov <ast@plumgrid.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Li Zefan <lizefan@huawei.com>
Cc: pi3orama@163.com
Link: http://lkml.kernel.org/n/ebpf-0tgilipxoo6fiebcxu3ft866@git.kernel.org
---

evsel->system_wide doesn't correct reflect whether this evsel is system
wide or not, so checks pid when invoking perf_event_open, and it is
always correct.

---
 tools/perf/util/evsel.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
index 5566b16..e2d6c9a 100644
--- a/tools/perf/util/evsel.c
+++ b/tools/perf/util/evsel.c
@@ -1337,6 +1337,7 @@ retry_sample_id:
 
 		for (thread = 0; thread < nthreads; thread++) {
 			int group_fd;
+			struct perf_event_attr attr;
 
 			if (!evsel->cgrp && !evsel->system_wide)
 				pid = thread_map__pid(threads, thread);
@@ -1346,7 +1347,10 @@ retry_open:
 			pr_debug2("sys_perf_event_open: pid %d  cpu %d  group_fd %d  flags %#lx\n",
 				  pid, cpus->map[cpu], group_fd, flags);
 
-			FD(evsel, cpu, thread) = sys_perf_event_open(&evsel->attr,
+			attr = evsel->attr;
+			if (pid == -1)
+				attr.inherit = 0;
+			FD(evsel, cpu, thread) = sys_perf_event_open(&attr,
 								     pid,
 								     cpus->map[cpu],
 								     group_fd, flags);
-- 
1.8.3.4


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-10-26 11:49 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-23 10:43 [RFC PATCH] perf tools: Don't set inherit bit for system wide evsel Wang Nan
2015-10-23 13:51 ` Arnaldo Carvalho de Melo
2015-10-23 13:58   ` pi3orama
2015-10-23 16:17     ` Arnaldo Carvalho de Melo
2015-10-26  9:08       ` Wangnan (F)
2015-10-26  9:25         ` Adrian Hunter
2015-10-26 11:48           ` Wangnan (F)

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.