Skip to content

Commit

Permalink
tracing: Fix compile error in module tracepoints when MODULE_UNLOAD n…
Browse files Browse the repository at this point in the history
…ot set

If modules are configured in the build but unloading of modules is not,
then the refcnt is not defined. Place the get/put module tracepoints
under CONFIG_MODULE_UNLOAD since it references this field in the module
structure.

As a side-effect, this patch also reduces the code when MODULE_UNLOAD
is not set, because these unused tracepoints are not created.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
  • Loading branch information
Steven Rostedt authored and Steven Rostedt committed Apr 1, 2010
1 parent ae832d1 commit eb0c537
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 2 deletions.
4 changes: 4 additions & 0 deletions include/trace/events/module.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,9 @@ TRACE_EVENT(module_free,
TP_printk("%s", __get_str(name))
);

#ifdef CONFIG_MODULE_UNLOAD
/* trace_module_get/put are only used if CONFIG_MODULE_UNLOAD is defined */

DECLARE_EVENT_CLASS(module_refcnt,

TP_PROTO(struct module *mod, unsigned long ip),
Expand Down Expand Up @@ -86,6 +89,7 @@ DEFINE_EVENT(module_refcnt, module_put,

TP_ARGS(mod, ip)
);
#endif /* CONFIG_MODULE_UNLOAD */

TRACE_EVENT(module_request,

Expand Down
5 changes: 3 additions & 2 deletions kernel/module.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,6 @@
#define CREATE_TRACE_POINTS
#include <trace/events/module.h>

EXPORT_TRACEPOINT_SYMBOL(module_get);

#if 0
#define DEBUGP printk
#else
Expand Down Expand Up @@ -467,6 +465,9 @@ MODINFO_ATTR(srcversion);
static char last_unloaded_module[MODULE_NAME_LEN+1];

#ifdef CONFIG_MODULE_UNLOAD

EXPORT_TRACEPOINT_SYMBOL(module_get);

/* Init the unload section of the module. */
static void module_unload_init(struct module *mod)
{
Expand Down

0 comments on commit eb0c537

Please sign in to comment.