diff options
Diffstat (limited to 'include/linux/perf_event.h')
| -rw-r--r-- | include/linux/perf_event.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h index 85749ae8cb5f..a090700cccca 100644 --- a/include/linux/perf_event.h +++ b/include/linux/perf_event.h | |||
| @@ -58,7 +58,7 @@ struct perf_guest_info_callbacks { | |||
| 58 | 58 | ||
| 59 | struct perf_callchain_entry { | 59 | struct perf_callchain_entry { |
| 60 | __u64 nr; | 60 | __u64 nr; |
| 61 | __u64 ip[PERF_MAX_STACK_DEPTH]; | 61 | __u64 ip[0]; /* /proc/sys/kernel/perf_event_max_stack */ |
| 62 | }; | 62 | }; |
| 63 | 63 | ||
| 64 | struct perf_raw_record { | 64 | struct perf_raw_record { |
| @@ -993,9 +993,11 @@ get_perf_callchain(struct pt_regs *regs, u32 init_nr, bool kernel, bool user, | |||
| 993 | extern int get_callchain_buffers(void); | 993 | extern int get_callchain_buffers(void); |
| 994 | extern void put_callchain_buffers(void); | 994 | extern void put_callchain_buffers(void); |
| 995 | 995 | ||
| 996 | extern int sysctl_perf_event_max_stack; | ||
| 997 | |||
| 996 | static inline int perf_callchain_store(struct perf_callchain_entry *entry, u64 ip) | 998 | static inline int perf_callchain_store(struct perf_callchain_entry *entry, u64 ip) |
| 997 | { | 999 | { |
| 998 | if (entry->nr < PERF_MAX_STACK_DEPTH) { | 1000 | if (entry->nr < sysctl_perf_event_max_stack) { |
| 999 | entry->ip[entry->nr++] = ip; | 1001 | entry->ip[entry->nr++] = ip; |
| 1000 | return 0; | 1002 | return 0; |
| 1001 | } else { | 1003 | } else { |
| @@ -1017,6 +1019,8 @@ extern int perf_cpu_time_max_percent_handler(struct ctl_table *table, int write, | |||
| 1017 | void __user *buffer, size_t *lenp, | 1019 | void __user *buffer, size_t *lenp, |
| 1018 | loff_t *ppos); | 1020 | loff_t *ppos); |
| 1019 | 1021 | ||
| 1022 | int perf_event_max_stack_handler(struct ctl_table *table, int write, | ||
| 1023 | void __user *buffer, size_t *lenp, loff_t *ppos); | ||
| 1020 | 1024 | ||
| 1021 | static inline bool perf_paranoid_tracepoint_raw(void) | 1025 | static inline bool perf_paranoid_tracepoint_raw(void) |
| 1022 | { | 1026 | { |
