diff options
Diffstat (limited to 'include/linux/perf_counter.h')
-rw-r--r-- | include/linux/perf_counter.h | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/include/linux/perf_counter.h b/include/linux/perf_counter.h index 8bd1be58c938..c22363a4f746 100644 --- a/include/linux/perf_counter.h +++ b/include/linux/perf_counter.h | |||
@@ -101,8 +101,9 @@ enum perf_counter_record_format { | |||
101 | PERF_RECORD_IP = 1U << 0, | 101 | PERF_RECORD_IP = 1U << 0, |
102 | PERF_RECORD_TID = 1U << 1, | 102 | PERF_RECORD_TID = 1U << 1, |
103 | PERF_RECORD_TIME = 1U << 2, | 103 | PERF_RECORD_TIME = 1U << 2, |
104 | PERF_RECORD_GROUP = 1U << 3, | 104 | PERF_RECORD_ADDR = 1U << 3, |
105 | PERF_RECORD_CALLCHAIN = 1U << 4, | 105 | PERF_RECORD_GROUP = 1U << 4, |
106 | PERF_RECORD_CALLCHAIN = 1U << 5, | ||
106 | }; | 107 | }; |
107 | 108 | ||
108 | /* | 109 | /* |
@@ -251,6 +252,7 @@ enum perf_event_type { | |||
251 | * { u64 ip; } && PERF_RECORD_IP | 252 | * { u64 ip; } && PERF_RECORD_IP |
252 | * { u32 pid, tid; } && PERF_RECORD_TID | 253 | * { u32 pid, tid; } && PERF_RECORD_TID |
253 | * { u64 time; } && PERF_RECORD_TIME | 254 | * { u64 time; } && PERF_RECORD_TIME |
255 | * { u64 addr; } && PERF_RECORD_ADDR | ||
254 | * | 256 | * |
255 | * { u64 nr; | 257 | * { u64 nr; |
256 | * { u64 event, val; } cnt[nr]; } && PERF_RECORD_GROUP | 258 | * { u64 event, val; } cnt[nr]; } && PERF_RECORD_GROUP |
@@ -537,7 +539,7 @@ extern int hw_perf_group_sched_in(struct perf_counter *group_leader, | |||
537 | extern void perf_counter_update_userpage(struct perf_counter *counter); | 539 | extern void perf_counter_update_userpage(struct perf_counter *counter); |
538 | 540 | ||
539 | extern int perf_counter_overflow(struct perf_counter *counter, | 541 | extern int perf_counter_overflow(struct perf_counter *counter, |
540 | int nmi, struct pt_regs *regs); | 542 | int nmi, struct pt_regs *regs, u64 addr); |
541 | /* | 543 | /* |
542 | * Return 1 for a software counter, 0 for a hardware counter | 544 | * Return 1 for a software counter, 0 for a hardware counter |
543 | */ | 545 | */ |
@@ -547,7 +549,7 @@ static inline int is_software_counter(struct perf_counter *counter) | |||
547 | perf_event_type(&counter->hw_event) != PERF_TYPE_HARDWARE; | 549 | perf_event_type(&counter->hw_event) != PERF_TYPE_HARDWARE; |
548 | } | 550 | } |
549 | 551 | ||
550 | extern void perf_swcounter_event(u32, u64, int, struct pt_regs *); | 552 | extern void perf_swcounter_event(u32, u64, int, struct pt_regs *, u64); |
551 | 553 | ||
552 | extern void perf_counter_mmap(unsigned long addr, unsigned long len, | 554 | extern void perf_counter_mmap(unsigned long addr, unsigned long len, |
553 | unsigned long pgoff, struct file *file); | 555 | unsigned long pgoff, struct file *file); |
@@ -584,8 +586,8 @@ static inline int perf_counter_task_disable(void) { return -EINVAL; } | |||
584 | static inline int perf_counter_task_enable(void) { return -EINVAL; } | 586 | static inline int perf_counter_task_enable(void) { return -EINVAL; } |
585 | 587 | ||
586 | static inline void | 588 | static inline void |
587 | perf_swcounter_event(u32 event, u64 nr, int nmi, struct pt_regs *regs) { } | 589 | perf_swcounter_event(u32 event, u64 nr, int nmi, |
588 | 590 | struct pt_regs *regs, u64 addr) { } | |
589 | 591 | ||
590 | static inline void | 592 | static inline void |
591 | perf_counter_mmap(unsigned long addr, unsigned long len, | 593 | perf_counter_mmap(unsigned long addr, unsigned long len, |