login
Login
/
Register
Search
Search this site:
Forums
News
Blogs
Features
Site
Home
»
Mailing list archives
»
linux-kernel
»
2010
»
May
»
7
Re: [PATCH 3/9 - v2][RFC] tracing: Remove per event trace registering
view
thread
Previous message: [
thread
] [
date
] [
author
]
Next message: [
thread
] [
date
] [
author
]
[view in full thread]
From: Steven Rostedt
Subject:
Re: [PATCH 3/9 - v2][RFC] tracing: Remove per event trace registering
Date: Friday, May 7, 2010 - 5:42 am
"Frederic Weisbecker" <fweisbec@gmail.com> wrote:
quoted text
>On Mon, May 03, 2010 at 11:40:48PM -0400, Steven Rostedt wrote: >> From: Steven Rostedt <srostedt@redhat.com> >> >> This patch removes the register functions of TRACE_EVENT() to enable >> and disable tracepoints. The registering of a event is now down >> directly in the trace_events.c file. The tracepoint_probe_register() >> is now called directly. >> >> The prototypes are no longer type checked, but this should not be >> an issue since the tracepoints are created automatically by the >> macros. If a prototype is incorrect in the TRACE_EVENT() macro, then >> other macros will catch it. > > > >Agreed. Typechecking matters for human code but not in this context. >Considering that the tracepoint and the probe are created by the same >CPP code, bugs will be tracked down quickly and located to a single >place. > > > > >> >> The trace_event_class structure now holds the probes to be called >> by the callbacks. This removes needing to have each event have >> a separate pointer for the probe. >> >> To handle kprobes and syscalls, since they register probes in a >> different manner, a "reg" field is added to the ftrace_event_class >> structure. If the "reg" field is assigned, then it will be called for >> enabling and disabling of the probe for either ftrace or perf. To let >> the reg function know what is happening, a new enum (trace_reg) is >> created that has the type of control that is needed. >> >> With this new rework, the 82 kernel events and 616 syscall events >> has their footprint dramatically lowered: >> >> text data bss dec hex filename >> 5788186 1337252 9351592 16477030 fb6b66 vmlinux.orig >> 5792282 1333796 9351592 16477670 fb6de6 vmlinux.class >> 5793448 1333780 9351592 16478820 fb7264 vmlinux.tracepoint >> 5796926 1337748 9351592 16486266 fb8f7a vmlinux.data >> 5774316 1306580 9351592 16432488 fabd68 vmlinux.regs >> >> The size went from 16477030 to 16432488, that's a total of 44K >> in savings. With tracepoints being continuously added, this is >> critical that the footprint becomes minimal. >> >> v2: Changed the callback probes to pass void * and typecast the >> value within the function. >> >> Signed-off-by: Steven Rostedt <rostedt@goodmis.org> > > > >Very nice!! > >Acked-by: Frederic Weisbecker <fweisbec@gmail.com> >
Thanks! -- Steve -- Sent from my Android phone with K-9 Mail. Please excuse my brevity.
Previous message: [
thread
] [
date
] [
author
]
Next message: [
thread
] [
date
] [
author
]
Messages in current thread:
[PATCH 0/9 - v2][RFC] tracing: Lowering the footprint of T ...
, Steven Rostedt
, (Mon May 3, 8:40 pm)
[PATCH 1/9 - v2][RFC] tracing: Create class struct for events
, Steven Rostedt
, (Mon May 3, 8:40 pm)
[PATCH 2/9 - v2][RFC] tracing: Let tracepoints have data p ...
, Steven Rostedt
, (Mon May 3, 8:40 pm)
[PATCH 3/9 - v2][RFC] tracing: Remove per event trace regi ...
, Steven Rostedt
, (Mon May 3, 8:40 pm)
[PATCH 4/9 - v2][RFC] tracing: Move fields from event to c ...
, Steven Rostedt
, (Mon May 3, 8:40 pm)
[PATCH 5/9 - v2][RFC] tracing: Move raw_init from events t ...
, Steven Rostedt
, (Mon May 3, 8:40 pm)
[PATCH 6/9 - v2][RFC] tracing: Allow events to share their ...
, Steven Rostedt
, (Mon May 3, 8:40 pm)
[PATCH 7/9 - v2][RFC] tracing: Move print functions into e ...
, Steven Rostedt
, (Mon May 3, 8:40 pm)
[PATCH 8/9 - v2][RFC] tracing: Remove duplicate id informa ...
, Steven Rostedt
, (Mon May 3, 8:40 pm)
[PATCH 9/9 - v2][RFC] tracing: Combine event filter_active ...
, Steven Rostedt
, (Mon May 3, 8:40 pm)
Re: [PATCH 2/9 - v2][RFC] tracing: Let tracepoints have da ...
, Frederic Weisbecker
, (Thu May 6, 8:52 pm)
Re: [PATCH 3/9 - v2][RFC] tracing: Remove per event trace ...
, Frederic Weisbecker
, (Thu May 6, 9:20 pm)
Re: [PATCH 1/9 - v2][RFC] tracing: Create class struct for ...
, Frederic Weisbecker
, (Thu May 6, 9:21 pm)
Re: [PATCH 4/9 - v2][RFC] tracing: Move fields from event ...
, Frederic Weisbecker
, (Thu May 6, 9:49 pm)
Re: [PATCH 3/9 - v2][RFC] tracing: Remove per event trace ...
, Li Zefan
, (Fri May 7, 1:20 am)
Re: [PATCH 3/9 - v2][RFC] tracing: Remove per event trace ...
, Steven Rostedt
, (Fri May 7, 5:42 am)
Re: [PATCH 4/9 - v2][RFC] tracing: Move fields from event ...
, Steven Rostedt
, (Fri May 7, 5:57 am)
Re: [PATCH 3/9 - v2][RFC] tracing: Remove per event trace ...
, Steven Rostedt
, (Fri May 7, 5:59 am)
Re: [PATCH 2/9 - v2][RFC] tracing: Let tracepoints have da ...
, Steven Rostedt
, (Fri May 7, 7:09 am)
Re: [PATCH 3/9 - v2][RFC] tracing: Remove per event trace ...
, Mathieu Desnoyers
, (Fri May 7, 7:54 am)
Re: [PATCH 3/9 - v2][RFC] tracing: Remove per event trace ...
, Steven Rostedt
, (Fri May 7, 8:12 am)
Re: [PATCH 3/9 - v2][RFC] tracing: Remove per event trace ...
, Mathieu Desnoyers
, (Fri May 7, 8:31 am)
Re: [PATCH 3/9 - v2][RFC] tracing: Remove per event trace ...
, Steven Rostedt
, (Fri May 7, 8:43 am)
Re: [PATCH 3/9 - v2][RFC] tracing: Remove per event trace ...
, Frederic Weisbecker
, (Fri May 7, 11:01 am)
Re: [PATCH 2/9 - v2][RFC] tracing: Let tracepoints have da ...
, Frederic Weisbecker
, (Fri May 7, 11:06 am)
Re: [PATCH 3/9 - v2][RFC] tracing: Remove per event trace ...
, Steven Rostedt
, (Fri May 7, 12:08 pm)
Re: [PATCH 2/9 - v2][RFC] tracing: Let tracepoints have da ...
, Steven Rostedt
, (Fri May 7, 12:10 pm)
Re: [PATCH 3/9 - v2][RFC] tracing: Remove per event trace ...
, Frederic Weisbecker
, (Fri May 7, 1:03 pm)
Re: [PATCH 3/9 - v2][RFC] tracing: Remove per event trace ...
, Mathieu Desnoyers
, (Fri May 7, 1:58 pm)
Navigation
Mailing list archives
Recent posts