Re: [PATCH 0/5][GIT PULL][2.6.34] tracing: urgent fixes

From: Ingo Molnar
Date: Sat Mar 13 2010 - 02:25:45 EST



* Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> Ingo,
>
> Li Zefan and Lai Jiangshan told me they were finding various bugs
> with running a stress test. I asked for this test, and Li sent it
> to me. Running the test I was also able to trigger the same bugs that
> they were seeing. Unfortunately, these bugs were very hard to figure
> out and it took me most of the week to fix them.
>
> These bugs would most likely not happen in normal use, since they
> all require multiple users writing to the control files of ftrace.
> This stress test does just that, it creates several processes that
> each write to a different part of a ftrace control system. One resizes
> the ring buffer, the other enables and disables various options,
> another changes the ftrace plugins, another enables and disables
> various events, another enables and disables the tracer, etc.
>
> Normal use generally has a single user that would only do one of these
> actions at a time. But that is no excuse for not fixing the issues
> that this test uncovered, so I took this very seriously.
>
> Even the fix "tracing: Disable buffer switching when starting or
> stopping trace" may look like it could happen if wakeup tracer is running,
> but since opening the trace file would cause the wakeup tracer to stop,
> it actually required another task to change the current tracer to
> the wakeup tracer while the trace file was being read.
>
> In any event, I've been running Li's ftrace_stress_test for a few
> hours now, and it seems pretty stable with these patches. I'll continue
> to run it to see if it finds anything else.
>
> All of these patches I consider urgent and have also Cc'd stable on them.
>
> Please pull the latest tip/tracing/urgent tree, which can be found at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace.git
> tip/tracing/urgent
>
>
> Lai Jiangshan (1):
> ring-buffer: Move disabled check into preempt disable section
>
> Steven Rostedt (4):
> function-graph: Init curr_ret_stack with ret_stack
> tracing: Use same local variable when resetting the ring buffer
> tracing: Disable buffer switching when starting or stopping trace
> tracing: Do not record user stack trace from NMI context
>
> ----
> kernel/trace/ftrace.c | 2 +-
> kernel/trace/ring_buffer.c | 12 ++++++------
> kernel/trace/trace.c | 24 ++++++++++++++++++++----
> 3 files changed, 27 insertions(+), 11 deletions(-)

Pulled, thanks a lot Steve!

Ingo
--
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/