From: tip-bot for Li Zefan <lizf@cn.fujitsu.com>
To: linux-tip-commits@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, hpa@zytor.com, mingo@redhat.com,
rostedt@goodmis.org, lizf@cn.fujitsu.com, tglx@linutronix.de
Subject: [tip:perf/core] tracing: Remove open-coded __trace_add_event_call()
Date: Tue, 29 Jun 2010 09:23:40 GMT [thread overview]
Message-ID: <tip-67ead0a6ceb001b4cb891d782e440f0e79493ba2@git.kernel.org> (raw)
In-Reply-To: <4BFA37E9.1020106@cn.fujitsu.com>
Commit-ID: 67ead0a6ceb001b4cb891d782e440f0e79493ba2
Gitweb: http://git.kernel.org/tip/67ead0a6ceb001b4cb891d782e440f0e79493ba2
Author: Li Zefan <lizf@cn.fujitsu.com>
AuthorDate: Mon, 24 May 2010 16:25:13 +0800
Committer: Steven Rostedt <rostedt@goodmis.org>
CommitDate: Mon, 28 Jun 2010 17:12:55 -0400
tracing: Remove open-coded __trace_add_event_call()
Let trace_module_add_events() and event_trace_init() call
__trace_add_event_call().
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
LKML-Reference: <4BFA37E9.1020106@cn.fujitsu.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
kernel/trace/trace_events.c | 70 +++++++++++-------------------------------
1 files changed, 19 insertions(+), 51 deletions(-)
diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
index 5bad9cb..69bee4c 100644
--- a/kernel/trace/trace_events.c
+++ b/kernel/trace/trace_events.c
@@ -1009,11 +1009,17 @@ event_create_dir(struct ftrace_event_call *call, struct dentry *d_events,
return 0;
}
-static int __trace_add_event_call(struct ftrace_event_call *call)
+static int
+__trace_add_event_call(struct ftrace_event_call *call, struct module *mod,
+ const struct file_operations *id,
+ const struct file_operations *enable,
+ const struct file_operations *filter,
+ const struct file_operations *format)
{
struct dentry *d_events;
int ret;
+ /* The linker may leave blanks */
if (!call->name)
return -EINVAL;
@@ -1021,8 +1027,8 @@ static int __trace_add_event_call(struct ftrace_event_call *call)
ret = call->class->raw_init(call);
if (ret < 0) {
if (ret != -ENOSYS)
- pr_warning("Could not initialize trace "
- "events/%s\n", call->name);
+ pr_warning("Could not initialize trace events/%s\n",
+ call->name);
return ret;
}
}
@@ -1031,11 +1037,10 @@ static int __trace_add_event_call(struct ftrace_event_call *call)
if (!d_events)
return -ENOENT;
- ret = event_create_dir(call, d_events, &ftrace_event_id_fops,
- &ftrace_enable_fops, &ftrace_event_filter_fops,
- &ftrace_event_format_fops);
+ ret = event_create_dir(call, d_events, id, enable, filter, format);
if (!ret)
list_add(&call->list, &ftrace_events);
+ call->mod = mod;
return ret;
}
@@ -1045,7 +1050,10 @@ int trace_add_event_call(struct ftrace_event_call *call)
{
int ret;
mutex_lock(&event_mutex);
- ret = __trace_add_event_call(call);
+ ret = __trace_add_event_call(call, NULL, &ftrace_event_id_fops,
+ &ftrace_enable_fops,
+ &ftrace_event_filter_fops,
+ &ftrace_event_format_fops);
mutex_unlock(&event_mutex);
return ret;
}
@@ -1162,8 +1170,6 @@ static void trace_module_add_events(struct module *mod)
{
struct ftrace_module_file_ops *file_ops = NULL;
struct ftrace_event_call *call, *start, *end;
- struct dentry *d_events;
- int ret;
start = mod->trace_events;
end = mod->trace_events + mod->num_trace_events;
@@ -1171,38 +1177,14 @@ static void trace_module_add_events(struct module *mod)
if (start == end)
return;
- d_events = event_trace_events_dir();
- if (!d_events)
+ file_ops = trace_create_file_ops(mod);
+ if (!file_ops)
return;
for_each_event(call, start, end) {
- /* The linker may leave blanks */
- if (!call->name)
- continue;
- if (call->class->raw_init) {
- ret = call->class->raw_init(call);
- if (ret < 0) {
- if (ret != -ENOSYS)
- pr_warning("Could not initialize trace "
- "point events/%s\n", call->name);
- continue;
- }
- }
- /*
- * This module has events, create file ops for this module
- * if not already done.
- */
- if (!file_ops) {
- file_ops = trace_create_file_ops(mod);
- if (!file_ops)
- return;
- }
- call->mod = mod;
- ret = event_create_dir(call, d_events,
+ __trace_add_event_call(call, mod,
&file_ops->id, &file_ops->enable,
&file_ops->filter, &file_ops->format);
- if (!ret)
- list_add(&call->list, &ftrace_events);
}
}
@@ -1333,24 +1315,10 @@ static __init int event_trace_init(void)
pr_warning("tracing: Failed to allocate common fields");
for_each_event(call, __start_ftrace_events, __stop_ftrace_events) {
- /* The linker may leave blanks */
- if (!call->name)
- continue;
- if (call->class->raw_init) {
- ret = call->class->raw_init(call);
- if (ret < 0) {
- if (ret != -ENOSYS)
- pr_warning("Could not initialize trace "
- "point events/%s\n", call->name);
- continue;
- }
- }
- ret = event_create_dir(call, d_events, &ftrace_event_id_fops,
+ __trace_add_event_call(call, NULL, &ftrace_event_id_fops,
&ftrace_enable_fops,
&ftrace_event_filter_fops,
&ftrace_event_format_fops);
- if (!ret)
- list_add(&call->list, &ftrace_events);
}
while (true) {
next prev parent reply other threads:[~2010-06-29 9:24 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-24 8:22 [PATCH 0/8] tracing: further shrinking trace events Li Zefan
2010-05-24 8:22 ` [PATCH 1/8] tracing: Use a global field list for all syscall exit events Li Zefan
2010-06-29 9:21 ` [tip:perf/core] " tip-bot for Li Zefan
2010-05-24 8:22 ` [PATCH 2/8] tracing: Don't allocate common fields for every trace events Li Zefan
2010-06-29 9:21 ` [tip:perf/core] " tip-bot for Li Zefan
2010-05-24 8:23 ` [PATCH 3/8] tracing: Convert some timer events to DEFINE_EVENT Li Zefan
2010-06-29 9:22 ` [tip:perf/core] " tip-bot for Li Zefan
2010-05-24 8:23 ` [PATCH 4/8] tracing: Conver more sched " Li Zefan
2010-06-29 9:22 ` [tip:perf/core] tracing: Convert " tip-bot for Li Zefan
2010-05-24 8:24 ` [PATCH 5/8] tracing: Convert more ext4 " Li Zefan
2010-05-25 14:57 ` tytso
2010-05-25 15:02 ` Steven Rostedt
2010-05-24 8:24 ` [PATCH 6/8] tracing: Remove test of NULL define_fields callback Li Zefan
2010-06-29 9:23 ` [tip:perf/core] " tip-bot for Li Zefan
2010-05-24 8:24 ` [PATCH 7/8] tracing: Remove redundant raw_init callbacks Li Zefan
2010-06-29 9:23 ` [tip:perf/core] " tip-bot for Li Zefan
2010-05-24 8:25 ` [PATCH 8/8] tracing: Remove open-coded __trace_add_event_call() Li Zefan
2010-06-29 9:23 ` tip-bot for Li Zefan [this message]
2010-05-26 17:56 ` [PATCH 0/8] tracing: further shrinking trace events Steven Rostedt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=tip-67ead0a6ceb001b4cb891d782e440f0e79493ba2@git.kernel.org \
--to=lizf@cn.fujitsu.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).