tracing: Move event storage for array from macro to standalone function
The code that shows array fields for events is defined for all events. This can add up quite a bit when you have over 500 events. By making helper functions in the core kernel to do the work instead, we can shrink the size of the kernel down a bit. With a kernel configured with 502 events, the change in size was: text data bss dec hex filename 12990946 1913568 9785344 24689858 178bcc2 /tmp/vmlinux 12987390 1913504 9785344 24686238 178ae9e /tmp/vmlinux.patched That's a total of 3556 bytes, which comes down to 7 bytes per event. Although it's not much, this code is just called at initialization of the events. Link: http://lkml.kernel.org/r/20120810034708.084036335@goodmis.org Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
This commit is contained in:
parent
1d6bae966e
commit
35bb4399bd
5 changed files with 33 additions and 26 deletions
|
@ -202,6 +202,10 @@ extern int ftrace_event_reg(struct ftrace_event_call *event,
|
|||
int ftrace_output_event(struct trace_iterator *iter, struct ftrace_event_call *event,
|
||||
char *fmt, ...);
|
||||
|
||||
int ftrace_event_define_field(struct ftrace_event_call *call,
|
||||
char *type, int len, char *item, int offset,
|
||||
int field_size, int sign, int filter);
|
||||
|
||||
enum {
|
||||
TRACE_EVENT_FL_FILTERED_BIT,
|
||||
TRACE_EVENT_FL_CAP_ANY_BIT,
|
||||
|
@ -500,10 +504,6 @@ enum {
|
|||
FILTER_TRACE_FN,
|
||||
};
|
||||
|
||||
#define EVENT_STORAGE_SIZE 128
|
||||
extern struct mutex event_storage_mutex;
|
||||
extern char event_storage[EVENT_STORAGE_SIZE];
|
||||
|
||||
extern int trace_event_raw_init(struct ftrace_event_call *call);
|
||||
extern int trace_define_field(struct ftrace_event_call *call, const char *type,
|
||||
const char *name, int offset, int size,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue