Pull perf updates from Ingo Molnar: "Kernel side changes: - Ftrace is one of the last W^X violators (after this only KLP is left). These patches move it over to the generic text_poke() interface and thereby get rid of this oddity. This requires a surprising amount of surgery, by Peter Zijlstra. - x86/AMD PMUs: add support for 'Large Increment per Cycle Events' to count certain types of events that have a special, quirky hw ABI (by Kim Phillips) - kprobes fixes by Masami Hiramatsu Lots of tooling updates as well, the following subcommands were updated: annotate/report/top, c2c, clang, record, report/top TUI, sched timehist, tests; plus updates were done to the gtk ui, libperf, headers and the parser" * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (57 commits) perf/x86/amd: Add support for Large Increment per Cycle Events perf/x86/amd: Constrain Large Increment per Cycle events perf/x86/intel/rapl: Add Comet Lake support tracing: Initialize ret in syscall_enter_define_fields() perf header: Use last modification time for timestamp perf c2c: Fix return type for histogram sorting comparision functions perf beauty sockaddr: Fix augmented syscall format warning perf/ui/gtk: Fix gtk2 build perf ui gtk: Add missing zalloc object perf tools: Use %define api.pure full instead of %pure-parser libperf: Setup initial evlist::all_cpus value perf report: Fix no libunwind compiled warning break s390 issue perf tools: Support --prefix/--prefix-strip perf report: Clarify in help that --children is default tools build: Fix test-clang.cpp with Clang 8+ perf clang: Fix build with Clang 9 kprobes: Fix optimize_kprobe()/unoptimize_kprobe() cancellation logic tools lib: Fix builds when glibc contains strlcpy() perf report/top: Make 'e' visible in the help and make it toggle showing callchains perf report/top: Do not offer annotation for symbols without samples ...
Showing the changes to include/linux (2 of 128 files). Show all
Unified · Split
| @@ -849,13 +849,9 @@ extern int module_sysfs_initialized; · 848 unmodified lines | |||
| 849 | #define __MODULE_STRING(x) __stringify(x) | 849 | #define __MODULE_STRING(x) __stringify(x) |
| 850 | 850 | ||
| 851 | #ifdef CONFIG_STRICT_MODULE_RWX | 851 | #ifdef CONFIG_STRICT_MODULE_RWX |
| 852 | extern void set_all_modules_text_rw(void); | ||
| 853 | extern void set_all_modules_text_ro(void); | ||
| 854 | extern void module_enable_ro(const struct module *mod, bool after_init); | 852 | extern void module_enable_ro(const struct module *mod, bool after_init); |
| 855 | extern void module_disable_ro(const struct module *mod); | 853 | extern void module_disable_ro(const struct module *mod); |
| 856 | #else | 854 | #else |
| 857 | static inline void set_all_modules_text_rw(void) { } | ||
| 858 | static inline void set_all_modules_text_ro(void) { } | ||
| 859 | static inline void module_enable_ro(const struct module *mod, bool after_init) { } | 855 | static inline void module_enable_ro(const struct module *mod, bool after_init) { } |
| 860 | static inline void module_disable_ro(const struct module *mod) { } | 856 | static inline void module_disable_ro(const struct module *mod) { } |
| 861 | #endif | 857 | #endif |
| @@ -192,6 +192,22 @@ enum trace_reg { · 191 unmodified lines | |||
| 192 | 192 | ||
| 193 | struct trace_event_call; | 193 | struct trace_event_call; |
| 194 | 194 | ||
| 195 | #define TRACE_FUNCTION_TYPE ((const char *)~0UL) | ||
| 196 | |||
| 197 | struct trace_event_fields { | ||
| 198 | const char *type; | ||
| 199 | union { | ||
| 200 | struct { | ||
| 201 | const char *name; | ||
| 202 | const int size; | ||
| 203 | const int align; | ||
| 204 | const int is_signed; | ||
| 205 | const int filter_type; | ||
| 206 | }; | ||
| 207 | int (*define_fields)(struct trace_event_call *); | ||
| 208 | }; | ||
| 209 | }; | ||
| 210 | |||
| 195 | struct trace_event_class { | 211 | struct trace_event_class { |
| 196 | const char *system; | 212 | const char *system; |
| 197 | void *probe; | 213 | void *probe; |
| @@ -200,7 +216,7 @@ struct trace_event_class { · 2 unmodified lines | |||
| 200 | #endif | 216 | #endif |
| 201 | int (*reg)(struct trace_event_call *event, | 217 | int (*reg)(struct trace_event_call *event, |
| 202 | enum trace_reg type, void *data); | 218 | enum trace_reg type, void *data); |
| 203 | int (*define_fields)(struct trace_event_call *); | 219 | struct trace_event_fields *fields_array; |
| 204 | struct list_head *(*get_fields)(struct trace_event_call *); | 220 | struct list_head *(*get_fields)(struct trace_event_call *); |
| 205 | struct list_head fields; | 221 | struct list_head fields; |
| 206 | int (*raw_init)(struct trace_event_call *); | 222 | int (*raw_init)(struct trace_event_call *); |