Skip to content

Commit

Permalink
tracepoint: Simplify tracepoint module search
Browse files Browse the repository at this point in the history
Instead of copying the num_tracepoints and tracepoints_ptrs from
the module structure to the tp_mod structure, which only uses it to
find the module associated to tracepoints of modules that are coming
and going, simply copy the pointer to the module struct to the tracepoint
tp_module structure.

Also removed un-needed brackets around an if statement.

Link: http://lkml.kernel.org/r/20140408201705.4dad2c4a@gandalf.local.home

Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
  • Loading branch information
Steven Rostedt (Red Hat) committed Apr 9, 2014
1 parent de7b297 commit eb7d035
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 7 deletions.
3 changes: 1 addition & 2 deletions include/linux/tracepoint.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,7 @@ for_each_kernel_tracepoint(void (*fct)(struct tracepoint *tp, void *priv),
#ifdef CONFIG_MODULES
struct tp_module {
struct list_head list;
unsigned int num_tracepoints;
struct tracepoint * const *tracepoints_ptrs;
struct module *mod;
};

bool trace_module_has_bad_taint(struct module *mod);
Expand Down
9 changes: 4 additions & 5 deletions kernel/tracepoint.c
Original file line number Diff line number Diff line change
Expand Up @@ -374,8 +374,7 @@ static int tracepoint_module_coming(struct module *mod)
ret = -ENOMEM;
goto end;
}
tp_mod->num_tracepoints = mod->num_tracepoints;
tp_mod->tracepoints_ptrs = mod->tracepoints_ptrs;
tp_mod->mod = mod;
list_add_tail(&tp_mod->list, &tracepoint_module_list);
blocking_notifier_call_chain(&tracepoint_notify_list,
MODULE_STATE_COMING, tp_mod);
Expand All @@ -393,7 +392,7 @@ static void tracepoint_module_going(struct module *mod)

mutex_lock(&tracepoint_module_list_mutex);
list_for_each_entry(tp_mod, &tracepoint_module_list, list) {
if (tp_mod->tracepoints_ptrs == mod->tracepoints_ptrs) {
if (tp_mod->mod == mod) {
blocking_notifier_call_chain(&tracepoint_notify_list,
MODULE_STATE_GOING, tp_mod);
list_del(&tp_mod->list);
Expand Down Expand Up @@ -447,9 +446,9 @@ static __init int init_tracepoints(void)
int ret;

ret = register_module_notifier(&tracepoint_module_nb);
if (ret) {
if (ret)
pr_warning("Failed to register tracepoint module enter notifier\n");
}

return ret;
}
__initcall(init_tracepoints);
Expand Down

0 comments on commit eb7d035

Please sign in to comment.