aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/perf_event.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/perf_event.h')
-rw-r--r--include/linux/perf_event.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index e8ad3c590a23..61448c19a132 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -246,6 +246,7 @@ struct perf_event;
246#define PERF_PMU_CAP_ITRACE 0x20 246#define PERF_PMU_CAP_ITRACE 0x20
247#define PERF_PMU_CAP_HETEROGENEOUS_CPUS 0x40 247#define PERF_PMU_CAP_HETEROGENEOUS_CPUS 0x40
248#define PERF_PMU_CAP_NO_EXCLUDE 0x80 248#define PERF_PMU_CAP_NO_EXCLUDE 0x80
249#define PERF_PMU_CAP_AUX_OUTPUT 0x100
249 250
250/** 251/**
251 * struct pmu - generic performance monitoring unit 252 * struct pmu - generic performance monitoring unit
@@ -447,6 +448,16 @@ struct pmu {
447 /* optional */ 448 /* optional */
448 449
449 /* 450 /*
451 * Check if event can be used for aux_output purposes for
452 * events of this PMU.
453 *
454 * Runs from perf_event_open(). Should return 0 for "no match"
455 * or non-zero for "match".
456 */
457 int (*aux_output_match) (struct perf_event *event);
458 /* optional */
459
460 /*
450 * Filter events for PMU-specific reasons. 461 * Filter events for PMU-specific reasons.
451 */ 462 */
452 int (*filter_match) (struct perf_event *event); /* optional */ 463 int (*filter_match) (struct perf_event *event); /* optional */
@@ -681,6 +692,9 @@ struct perf_event {
681 struct perf_addr_filter_range *addr_filter_ranges; 692 struct perf_addr_filter_range *addr_filter_ranges;
682 unsigned long addr_filters_gen; 693 unsigned long addr_filters_gen;
683 694
695 /* for aux_output events */
696 struct perf_event *aux_event;
697
684 void (*destroy)(struct perf_event *); 698 void (*destroy)(struct perf_event *);
685 struct rcu_head rcu_head; 699 struct rcu_head rcu_head;
686 700