[PATCH 3/3] perf-record: Use per-task-per-cpu events for inherited events

From: Peter Zijlstra
Date: Wed Dec 16 2009 - 12:01:15 EST


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>
---
tools/perf/builtin-record.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux-2.6/tools/perf/builtin-record.c
===================================================================
--- linux-2.6.orig/tools/perf/builtin-record.c
+++ linux-2.6/tools/perf/builtin-record.c
@@ -278,7 +278,7 @@ static void create_counter(int counter,

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,
}


- 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/