Re: [RFC PATCH] tracing: Don't call wakeup() when committing the event

From: Vaibhav Nagarnaik
Date: Tue May 03 2011 - 19:37:35 EST


On Tue, May 3, 2011 at 3:47 PM, Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> On Wed, 2011-05-04 at 00:09 +0200, Frederic Weisbecker wrote:
>
>> I wonder if we should have a lite version of wake_up() that checks
>> if the list of waiters is empty before locking the queue.
>> After all we don't care much about tight races for tracing.
>
> Since tracing is a special case here, we probably could get away to just
> do it ourselves. That is, have our own flag that determines if we should
> wakeup or not.

I had another question looking at the implementation of
ftrace_raw_event_##call in include/trace/ftrace.h.

All the raw trace events are traced through this function and it does not
call wakeup() on the trace_wait waitqueue. How do the current implementations
of readers handle tracing anything other than syscalls? Since wakeup() will
never get called, do the readers never poll on the waitqueue?

I understand from the logs that due to hard lockups while tracing sched
events, this new API was added. But does this mean that the tracing waitqueues
functionality is not being used by the readers?


>
> -- Steve
>
>
>

Vaibhav Nagarnaik
--
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/