tracing: Convert module refcnt events to DEFINE_EVENT
authorLi Zefan <lizf@cn.fujitsu.com>
Thu, 26 Nov 2009 07:03:23 +0000 (15:03 +0800)
committerIngo Molnar <mingo@elte.hu>
Thu, 26 Nov 2009 08:14:02 +0000 (09:14 +0100)
Use DECLARE_EVENT_CLASS to remove duplicate code:

   text    data     bss     dec     hex filename
  29854    1980     128   31962    7cda kernel/module.o.old
  28750    1980     128   30858    788a kernel/module.o

Two events are converted:

  module_refcnt: module_get, module_put

No change in functionality.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
LKML-Reference: <4B0E283B.3010508@cn.fujitsu.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
include/trace/events/module.h

index 84160fb..4b0f48b 100644 (file)
@@ -51,7 +51,7 @@ TRACE_EVENT(module_free,
        TP_printk("%s", __get_str(name))
 );
 
        TP_printk("%s", __get_str(name))
 );
 
-TRACE_EVENT(module_get,
+DECLARE_EVENT_CLASS(module_refcnt,
 
        TP_PROTO(struct module *mod, unsigned long ip, int refcnt),
 
 
        TP_PROTO(struct module *mod, unsigned long ip, int refcnt),
 
@@ -73,26 +73,18 @@ TRACE_EVENT(module_get,
                  __get_str(name), (void *)__entry->ip, __entry->refcnt)
 );
 
                  __get_str(name), (void *)__entry->ip, __entry->refcnt)
 );
 
-TRACE_EVENT(module_put,
+DEFINE_EVENT(module_refcnt, module_get,
 
        TP_PROTO(struct module *mod, unsigned long ip, int refcnt),
 
 
        TP_PROTO(struct module *mod, unsigned long ip, int refcnt),
 
-       TP_ARGS(mod, ip, refcnt),
+       TP_ARGS(mod, ip, refcnt)
+);
 
 
-       TP_STRUCT__entry(
-               __field(        unsigned long,  ip              )
-               __field(        int,            refcnt          )
-               __string(       name,           mod->name       )
-       ),
+DEFINE_EVENT(module_refcnt, module_put,
 
 
-       TP_fast_assign(
-               __entry->ip     = ip;
-               __entry->refcnt = refcnt;
-               __assign_str(name, mod->name);
-       ),
+       TP_PROTO(struct module *mod, unsigned long ip, int refcnt),
 
 
-       TP_printk("%s call_site=%pf refcnt=%d",
-                 __get_str(name), (void *)__entry->ip, __entry->refcnt)
+       TP_ARGS(mod, ip, refcnt)
 );
 
 TRACE_EVENT(module_request,
 );
 
 TRACE_EVENT(module_request,