[PATCH 1/9] tracing: Convert module refcnt events to DEFINE_EVENT

From: Li Zefan
Date: Thu Nov 26 2009 - 02:03:57 EST


Use TRACE_EVENT_TEMPLATE 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

Signed-off-by: Li Zefan <lizf@xxxxxxxxxxxxxx>
---
include/trace/events/module.h | 22 +++++++---------------
1 files changed, 7 insertions(+), 15 deletions(-)

diff --git a/include/trace/events/module.h b/include/trace/events/module.h
index 84160fb..32c28db 100644
--- a/include/trace/events/module.h
+++ b/include/trace/events/module.h
@@ -51,7 +51,7 @@ TRACE_EVENT(module_free,
TP_printk("%s", __get_str(name))
);

-TRACE_EVENT(module_get,
+TRACE_EVENT_TEMPLATE(module_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)
);

-TRACE_EVENT(module_put,
+DEFINE_EVENT(module_refcnt, module_get,

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,
--
1.6.3


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/