Skip to contentSkip to conversation

tracing: remove syscall_exit_fields

PATCH In review Lai Jiangshan 3 participants 4 messages Jan 14, 2011 – Jan 15, 2011 Tracing

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 tracing: remove syscall_exit_fields

Use event_class_syscall_exit.fields instead. Remove syscall_exit_fields.
Remove syscall_get_enter_fields()
Add event_class_syscall_exit.fields initialization.

Indentation has to be changed also, otherwise the line
".fields = LIST_HEAD_INIT(event_class_syscall_exit.fields),"
I added will exceed 80 characters.

---

kernel/trace/trace_syscalls.c +12 -21
index bac752f..b706529 100644
@@ -23,9 +23,6 @@ static int syscall_exit_register(struct ftrace_event_call *event,
 static int syscall_enter_define_fields(struct ftrace_event_call *call);
 static int syscall_exit_define_fields(struct ftrace_event_call *call);
 
-/* All syscall exit events have the same fields */
-static LIST_HEAD(syscall_exit_fields);
-
 static struct list_head *
 syscall_get_enter_fields(struct ftrace_event_call *call)
 {
@@ -34,34 +31,28 @@ syscall_get_enter_fields(struct ftrace_event_call *call)
 	return &entry->enter_fields;
 }
 
-static struct list_head *
-syscall_get_exit_fields(struct ftrace_event_call *call)
-{
-	return &syscall_exit_fields;
-}
-
 struct trace_event_functions enter_syscall_print_funcs = {
-	.trace                  = print_syscall_enter,
+	.trace		= print_syscall_enter,
 };
 
 struct trace_event_functions exit_syscall_print_funcs = {
-	.trace                  = print_syscall_exit,
+	.trace		= print_syscall_exit,
 };
 
 struct ftrace_event_class event_class_syscall_enter = {
-	.system			= "syscalls",
-	.reg			= syscall_enter_register,
-	.define_fields		= syscall_enter_define_fields,
-	.get_fields		= syscall_get_enter_fields,
-	.raw_init		= init_syscall_trace,
+	.system		= "syscalls",
+	.reg		= syscall_enter_register,
+	.define_fields	= syscall_enter_define_fields,
+	.get_fields	= syscall_get_enter_fields,
+	.raw_init	= init_syscall_trace,
 };
 
 struct ftrace_event_class event_class_syscall_exit = {
-	.system			= "syscalls",
-	.reg			= syscall_exit_register,
-	.define_fields		= syscall_exit_define_fields,
-	.get_fields		= syscall_get_exit_fields,
-	.raw_init		= init_syscall_trace,
+	.system		= "syscalls",
+	.reg		= syscall_exit_register,
+	.define_fields	= syscall_exit_define_fields,
+	.fields		= LIST_HEAD_INIT(event_class_syscall_exit.fields),
+	.raw_init	= init_syscall_trace,
 };
 
 extern unsigned long __start_syscalls_metadata[];
#1 lore raw
Quoted 4 lines · Lai Jiangshan

Use event_class_syscall_exit.fields instead.
Remove syscall_exit_fields.
Remove syscall_get_enter_fields()

I assume you meant syscall_get_exit_fields()

Quoted 7 lines

Add event_class_syscall_exit.fields initialization.

Indentation has to be changed also, otherwise the line
".fields = LIST_HEAD_INIT(event_class_syscall_exit.fields),"
I added will exceed 80 characters.

Nice!

Steve, if you don't mind I'll handle that one as I have another patch for syscalls tracing.

Thanks.

maintainer
#2 lore raw
Quoted 14 lines · Frederic Weisbecker
Quoted 4 lines · Lai Jiangshan

Use event_class_syscall_exit.fields instead.
Remove syscall_exit_fields.
Remove syscall_get_enter_fields()

I assume you meant syscall_get_exit_fields()

Quoted 6 lines

Add event_class_syscall_exit.fields initialization.

Indentation has to be changed also, otherwise the line
".fields = LIST_HEAD_INIT(event_class_syscall_exit.fields),"
I added will exceed 80 characters.

Quoted 6 lines
Quoted 1 line

Nice!

Steve, if you don't mind I'll handle that one as I have another patch for syscalls tracing.

Sure, go ahead.

-- Steve

#3 lore raw

[tip:perf/urgent] tracing: Remove syscall_exit_fields

In reply to Lai Jiangshan
Commit-ID:  7f85803a26f304e698c673838aab06cc6d4d6e59
Gitweb:     http://git.kernel.org/tip/7f85803a26f304e698c673838aab06cc6d4d6e59
Author:     Lai Jiangshan <[email protected]>
AuthorDate: Fri, 14 Jan 2011 17:49:02 +0800
Committer:  Steven Rostedt <[email protected]>
CommitDate: Fri, 14 Jan 2011 18:06:35 -0500

tracing: Remove syscall_exit_fields

There is no need for syscall_exit_fields as the syscall exit event class can already host the fields in its structure, like most other trace events do by default. Use that default behavior instead.

Following this scheme, we don't need anymore to override the get_fields() callback of the syscall exit event class either.

Hence both syscall_exit_fields and syscall_get_exit_fields() can be removed.

Also changed some indentation to keep the following under 80 characters:

".fields = LIST_HEAD_INIT(event_class_syscall_exit.fields),"

LKML-Reference: <[email protected]>

---
 kernel/trace/trace_syscalls.c |   33 ++++++++++++---------------------
 1 files changed, 12 insertions(+), 21 deletions(-)
kernel/trace/trace_syscalls.c +12 -21
index bac752f..b706529 100644
@@ -23,9 +23,6 @@ static int syscall_exit_register(struct ftrace_event_call *event,
 static int syscall_enter_define_fields(struct ftrace_event_call *call);
 static int syscall_exit_define_fields(struct ftrace_event_call *call);
 
-/* All syscall exit events have the same fields */
-static LIST_HEAD(syscall_exit_fields);
-
 static struct list_head *
 syscall_get_enter_fields(struct ftrace_event_call *call)
 {
@@ -34,34 +31,28 @@ syscall_get_enter_fields(struct ftrace_event_call *call)
 	return &entry->enter_fields;
 }
 
-static struct list_head *
-syscall_get_exit_fields(struct ftrace_event_call *call)
-{
-	return &syscall_exit_fields;
-}
-
 struct trace_event_functions enter_syscall_print_funcs = {
-	.trace                  = print_syscall_enter,
+	.trace		= print_syscall_enter,
 };
 
 struct trace_event_functions exit_syscall_print_funcs = {
-	.trace                  = print_syscall_exit,
+	.trace		= print_syscall_exit,
 };
 
 struct ftrace_event_class event_class_syscall_enter = {
-	.system			= "syscalls",
-	.reg			= syscall_enter_register,
-	.define_fields		= syscall_enter_define_fields,
-	.get_fields		= syscall_get_enter_fields,
-	.raw_init		= init_syscall_trace,
+	.system		= "syscalls",
+	.reg		= syscall_enter_register,
+	.define_fields	= syscall_enter_define_fields,
+	.get_fields	= syscall_get_enter_fields,
+	.raw_init	= init_syscall_trace,
 };
 
 struct ftrace_event_class event_class_syscall_exit = {
-	.system			= "syscalls",
-	.reg			= syscall_exit_register,
-	.define_fields		= syscall_exit_define_fields,
-	.get_fields		= syscall_get_exit_fields,
-	.raw_init		= init_syscall_trace,
+	.system		= "syscalls",
+	.reg		= syscall_exit_register,
+	.define_fields	= syscall_exit_define_fields,
+	.fields		= LIST_HEAD_INIT(event_class_syscall_exit.fields),
+	.raw_init	= init_syscall_trace,
 };
 
 extern unsigned long __start_syscalls_metadata[];