[tip:perf/urgent] perf record: Use per-task-per-cpu events for inherited events

From: tip-bot for Peter Zijlstra
Date: Wed Dec 16 2009 - 12:37:16 EST


Commit-ID: 60ab271617cec607380099f3ed8e84916e48323b
Gitweb: http://git.kernel.org/tip/60ab271617cec607380099f3ed8e84916e48323b
Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
AuthorDate: Wed, 16 Dec 2009 17:55:56 +0100
Committer: Ingo Molnar <mingo@xxxxxxx>
CommitDate: Wed, 16 Dec 2009 18:30:13 +0100

perf record: Use per-task-per-cpu events for inherited events

Create events with a pid and cpu contraint for inherited events
so that we get a stream per cpu, instead of all cpus contending
on a single stream.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: fweisbec@xxxxxxxxx
Cc: Paul Mackerras <paulus@xxxxxxxxx>
LKML-Reference: <20091216165904.987643843@xxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
---
tools/perf/builtin-record.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index 9b7c6d8..63136d0 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -278,7 +278,7 @@ static void create_counter(int counter, int cpu, pid_t pid)

attr->mmap = track;
attr->comm = track;
- attr->inherit = (cpu < 0) && inherit;
+ attr->inherit = inherit;
attr->disabled = 1;

try_again:
@@ -537,7 +537,7 @@ static int __cmd_record(int argc __used, const char **argv)
}


- if (!system_wide || profile_cpu != -1) {
+ if ((!system_wide && !inherit) || profile_cpu != -1) {
open_counters(profile_cpu, target_pid);
} else {
for (i = 0; i < nr_cpus; i++)
--
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/