Merge branch 'tip/perf/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/urgent

+22 -21
+10
include/trace/events/module.h
··· 1 + /* 2 + * Because linux/module.h has tracepoints in the header, and ftrace.h 3 + * eventually includes this file, define_trace.h includes linux/module.h 4 + * But we do not want the module.h to override the TRACE_SYSTEM macro 5 + * variable that define_trace.h is processing, so we only set it 6 + * when module events are being processed, which would happen when 7 + * CREATE_TRACE_POINTS is defined. 8 + */ 9 + #ifdef CREATE_TRACE_POINTS 1 10 #undef TRACE_SYSTEM 2 11 #define TRACE_SYSTEM module 12 + #endif 3 13 4 14 #if !defined(_TRACE_MODULE_H) || defined(TRACE_HEADER_MULTI_READ) 5 15 #define _TRACE_MODULE_H
+12 -21
kernel/trace/trace_syscalls.c
··· 23 23 static int syscall_enter_define_fields(struct ftrace_event_call *call); 24 24 static int syscall_exit_define_fields(struct ftrace_event_call *call); 25 25 26 - /* All syscall exit events have the same fields */ 27 - static LIST_HEAD(syscall_exit_fields); 28 - 29 26 static struct list_head * 30 27 syscall_get_enter_fields(struct ftrace_event_call *call) 31 28 { ··· 31 34 return &entry->enter_fields; 32 35 } 33 36 34 - static struct list_head * 35 - syscall_get_exit_fields(struct ftrace_event_call *call) 36 - { 37 - return &syscall_exit_fields; 38 - } 39 - 40 37 struct trace_event_functions enter_syscall_print_funcs = { 41 - .trace = print_syscall_enter, 38 + .trace = print_syscall_enter, 42 39 }; 43 40 44 41 struct trace_event_functions exit_syscall_print_funcs = { 45 - .trace = print_syscall_exit, 42 + .trace = print_syscall_exit, 46 43 }; 47 44 48 45 struct ftrace_event_class event_class_syscall_enter = { 49 - .system = "syscalls", 50 - .reg = syscall_enter_register, 51 - .define_fields = syscall_enter_define_fields, 52 - .get_fields = syscall_get_enter_fields, 53 - .raw_init = init_syscall_trace, 46 + .system = "syscalls", 47 + .reg = syscall_enter_register, 48 + .define_fields = syscall_enter_define_fields, 49 + .get_fields = syscall_get_enter_fields, 50 + .raw_init = init_syscall_trace, 54 51 }; 55 52 56 53 struct ftrace_event_class event_class_syscall_exit = { 57 - .system = "syscalls", 58 - .reg = syscall_exit_register, 59 - .define_fields = syscall_exit_define_fields, 60 - .get_fields = syscall_get_exit_fields, 61 - .raw_init = init_syscall_trace, 54 + .system = "syscalls", 55 + .reg = syscall_exit_register, 56 + .define_fields = syscall_exit_define_fields, 57 + .fields = LIST_HEAD_INIT(event_class_syscall_exit.fields), 58 + .raw_init = init_syscall_trace, 62 59 }; 63 60 64 61 extern unsigned long __start_syscalls_metadata[];