.. | .. |
---|
1078 | 1078 | struct pt_regs *regs); |
---|
1079 | 1079 | |
---|
1080 | 1080 | static inline bool |
---|
1081 | | -is_default_overflow_handler(struct perf_event *event) |
---|
| 1081 | +__is_default_overflow_handler(perf_overflow_handler_t overflow_handler) |
---|
1082 | 1082 | { |
---|
1083 | | - if (likely(event->overflow_handler == perf_event_output_forward)) |
---|
| 1083 | + if (likely(overflow_handler == perf_event_output_forward)) |
---|
1084 | 1084 | return true; |
---|
1085 | | - if (unlikely(event->overflow_handler == perf_event_output_backward)) |
---|
| 1085 | + if (unlikely(overflow_handler == perf_event_output_backward)) |
---|
1086 | 1086 | return true; |
---|
1087 | 1087 | return false; |
---|
1088 | 1088 | } |
---|
1089 | 1089 | |
---|
| 1090 | +#define is_default_overflow_handler(event) \ |
---|
| 1091 | + __is_default_overflow_handler((event)->overflow_handler) |
---|
| 1092 | + |
---|
| 1093 | +#ifdef CONFIG_BPF_SYSCALL |
---|
| 1094 | +static inline bool uses_default_overflow_handler(struct perf_event *event) |
---|
| 1095 | +{ |
---|
| 1096 | + if (likely(is_default_overflow_handler(event))) |
---|
| 1097 | + return true; |
---|
| 1098 | + |
---|
| 1099 | + return __is_default_overflow_handler(event->orig_overflow_handler); |
---|
| 1100 | +} |
---|
| 1101 | +#else |
---|
| 1102 | +#define uses_default_overflow_handler(event) \ |
---|
| 1103 | + is_default_overflow_handler(event) |
---|
| 1104 | +#endif |
---|
| 1105 | + |
---|
1090 | 1106 | extern void |
---|
1091 | 1107 | perf_event_header__init_id(struct perf_event_header *header, |
---|
1092 | 1108 | struct perf_sample_data *data, |
---|