aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorSteven Rostedt (Red Hat) <rostedt@goodmis.org>2014-04-08 20:09:40 -0400
committerSteven Rostedt <rostedt@goodmis.org>2014-04-08 20:45:34 -0400
commiteb7d035c59431bb12e1aa6e69ddd3940352faddb (patch)
treea4e39481eade88644bae57261605cb393b75e451 /kernel
parentde7b2973903c6cc50b31ee5682a69b2219b9919d (diff)
tracepoint: Simplify tracepoint module search
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>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/tracepoint.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/kernel/tracepoint.c b/kernel/tracepoint.c
index 01b3bd84daa1..162be198a247 100644
--- a/kernel/tracepoint.c
+++ b/kernel/tracepoint.c
@@ -374,8 +374,7 @@ static int tracepoint_module_coming(struct module *mod)
374 ret = -ENOMEM; 374 ret = -ENOMEM;
375 goto end; 375 goto end;
376 } 376 }
377 tp_mod->num_tracepoints = mod->num_tracepoints; 377 tp_mod->mod = mod;
378 tp_mod->tracepoints_ptrs = mod->tracepoints_ptrs;
379 list_add_tail(&tp_mod->list, &tracepoint_module_list); 378 list_add_tail(&tp_mod->list, &tracepoint_module_list);
380 blocking_notifier_call_chain(&tracepoint_notify_list, 379 blocking_notifier_call_chain(&tracepoint_notify_list,
381 MODULE_STATE_COMING, tp_mod); 380 MODULE_STATE_COMING, tp_mod);
@@ -393,7 +392,7 @@ static void tracepoint_module_going(struct module *mod)
393 392
394 mutex_lock(&tracepoint_module_list_mutex); 393 mutex_lock(&tracepoint_module_list_mutex);
395 list_for_each_entry(tp_mod, &tracepoint_module_list, list) { 394 list_for_each_entry(tp_mod, &tracepoint_module_list, list) {
396 if (tp_mod->tracepoints_ptrs == mod->tracepoints_ptrs) { 395 if (tp_mod->mod == mod) {
397 blocking_notifier_call_chain(&tracepoint_notify_list, 396 blocking_notifier_call_chain(&tracepoint_notify_list,
398 MODULE_STATE_GOING, tp_mod); 397 MODULE_STATE_GOING, tp_mod);
399 list_del(&tp_mod->list); 398 list_del(&tp_mod->list);
@@ -447,9 +446,9 @@ static __init int init_tracepoints(void)
447 int ret; 446 int ret;
448 447
449 ret = register_module_notifier(&tracepoint_module_nb); 448 ret = register_module_notifier(&tracepoint_module_nb);
450 if (ret) { 449 if (ret)
451 pr_warning("Failed to register tracepoint module enter notifier\n"); 450 pr_warning("Failed to register tracepoint module enter notifier\n");
452 } 451
453 return ret; 452 return ret;
454} 453}
455__initcall(init_tracepoints); 454__initcall(init_tracepoints);