diff options
author | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2009-08-19 05:18:27 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-08-25 03:36:13 -0400 |
commit | a4be7c2778d1fd8e0a8a5607bec91fa221ab2c91 (patch) | |
tree | e7aca50900a98d68173e6a45ead2815d75e2e197 /include/linux/perf_counter.h | |
parent | fa289beca9de9119c7760bd984f3640da21bc94c (diff) |
perf_counter: Allow sharing of output channels
Provide the ability to configure a counter to send its output
to another (already existing) counter's output stream.
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: stephane eranian <eranian@googlemail.com>
Cc: Paul Mackerras <paulus@samba.org>
LKML-Reference: <20090819092023.980284148@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/perf_counter.h')
-rw-r--r-- | include/linux/perf_counter.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/perf_counter.h b/include/linux/perf_counter.h index b53f7006cc4e..e022b847c90d 100644 --- a/include/linux/perf_counter.h +++ b/include/linux/perf_counter.h | |||
@@ -216,6 +216,7 @@ struct perf_counter_attr { | |||
216 | #define PERF_COUNTER_IOC_REFRESH _IO ('$', 2) | 216 | #define PERF_COUNTER_IOC_REFRESH _IO ('$', 2) |
217 | #define PERF_COUNTER_IOC_RESET _IO ('$', 3) | 217 | #define PERF_COUNTER_IOC_RESET _IO ('$', 3) |
218 | #define PERF_COUNTER_IOC_PERIOD _IOW('$', 4, u64) | 218 | #define PERF_COUNTER_IOC_PERIOD _IOW('$', 4, u64) |
219 | #define PERF_COUNTER_IOC_SET_OUTPUT _IO ('$', 5) | ||
219 | 220 | ||
220 | enum perf_counter_ioc_flags { | 221 | enum perf_counter_ioc_flags { |
221 | PERF_IOC_FLAG_GROUP = 1U << 0, | 222 | PERF_IOC_FLAG_GROUP = 1U << 0, |
@@ -415,6 +416,9 @@ enum perf_callchain_context { | |||
415 | PERF_CONTEXT_MAX = (__u64)-4095, | 416 | PERF_CONTEXT_MAX = (__u64)-4095, |
416 | }; | 417 | }; |
417 | 418 | ||
419 | #define PERF_FLAG_FD_NO_GROUP (1U << 0) | ||
420 | #define PERF_FLAG_FD_OUTPUT (1U << 1) | ||
421 | |||
418 | #ifdef __KERNEL__ | 422 | #ifdef __KERNEL__ |
419 | /* | 423 | /* |
420 | * Kernel-internal data types and definitions: | 424 | * Kernel-internal data types and definitions: |
@@ -536,6 +540,7 @@ struct perf_counter { | |||
536 | struct list_head sibling_list; | 540 | struct list_head sibling_list; |
537 | int nr_siblings; | 541 | int nr_siblings; |
538 | struct perf_counter *group_leader; | 542 | struct perf_counter *group_leader; |
543 | struct perf_counter *output; | ||
539 | const struct pmu *pmu; | 544 | const struct pmu *pmu; |
540 | 545 | ||
541 | enum perf_counter_active_state state; | 546 | enum perf_counter_active_state state; |