Messages in this thread |  | | | Date | Thu, 7 May 2009 13:32:17 +0200 | | From | Ingo Molnar <> | | Subject | Re: [PATCH 3/5] tracing/events: add rcu locking around trace event prints |
| |
* Steven Rostedt <rostedt@goodmis.org> wrote:
> Somehow this patch got dropped. I believe Ted's work requires it. > > I'm not sure if we need to include rcupdate.h or not to use > rcu_read_lock. I think it may be fine to include it in ftrace.h. > > Jeremy, does this patch effect anything that you are doing? > > -- Steve > > On Wed, 15 Apr 2009, Steven Rostedt wrote: > > > From: Steven Rostedt <srostedt@redhat.com> > > > > Some trace events need to have a way to print out data that his > > allocated, but will be freed later. Using a function that can allocate > > memory, and free it with call_rcu, can be useful. > > > > This patch adds rcu locking around the print part of the TRACE_EVENT > > macro to facilitate this. > > > > Reported-by: Theodore Tso <tytso@mit.edu> > > Signed-off-by: Steven Rostedt <rostedt@goodmis.org> > > --- > > include/trace/ftrace.h | 4 ++++ > > 1 files changed, 4 insertions(+), 0 deletions(-) > > > > diff --git a/include/trace/ftrace.h b/include/trace/ftrace.h > > index 60c5323..6fb06bd 100644 > > --- a/include/trace/ftrace.h > > +++ b/include/trace/ftrace.h > > @@ -62,7 +62,9 @@ > > * > > * field = (typeof(field))entry; > > * > > + * rcu_read_lock(); > > * ret = trace_seq_printf(s, <TP_printk> "\n"); > > + * rcu_read_unlock(); > > * if (!ret) > > * return TRACE_TYPE_PARTIAL_LINE; > > * > > @@ -99,7 +101,9 @@ ftrace_raw_output_##call(struct trace_iterator *iter, int flags) \ > > \ > > field = (typeof(field))entry; \ > > \ > > + rcu_read_lock(); \ > > ret = trace_seq_printf(s, #call ": " print); \ > > + rcu_read_unlock(); \ > > if (!ret) \ > > return TRACE_TYPE_PARTIAL_LINE; \
Hm, this patch adds usage for RCU primitives, but doesnt include rcupdate.h.
Ingo
|  |