Re: [PATCH 3/4] tracing/branch-tracer: Fix a trace recursion onbranch tracer

From: Ingo Molnar
Date: Sun Nov 16 2008 - 01:50:16 EST



* Frédéric Weisbecker <fweisbec@xxxxxxxxx> wrote:

> 2008/11/16 Ingo Molnar <mingo@xxxxxxx>:
> >
> > * Frederic Weisbecker <fweisbec@xxxxxxxxx> wrote:
> >
> >> Impact: Make the branch tracer use raw irq save/restore
> >>
> >> When the branch tracer inserts an event through
> >> probe_likely_condition(), it calls local_irq_save() and then results
> >> in a trace recursion.
> >>
> >> local_irq_save() -> trace_hardirqs_off() -> trace_hardirqs_off_caller()
> >> -> unlikely()
> >>
> >> The trace_branch.c file is protected by DISABLE_BRANCH_PROFILING but
> >> that doesn't prevent from external call to functions that use
> >> unlikely().
> >>
> >> My box crashed each time I tried to set this tracer (sudden and hard
> >> reboot).
> >
> > So this patch fixes that problem, or are there other problems left?
> >
> > Ingo
> >
>
>
> I forgot to answer to all. Yes that fixes it.

cool - i was seeing the crashes too in automated testing, just havent
had time to debug it yet.

One small detail:

Regarding the "Impact" line, it's cool that you started adding them.
I'd like to ask you to tweak them a little bit in the future: please
try to describe the "practical impact" via them - not just a
repetition of the source code change that the patch does.

For example, for this patch, instead of this impact-line:

Impact: Make the branch tracer use raw irq save/restore

a better one is:

Impact: fix crash when enabling the branch-tracer

(i changed it in this patch, no need to resubmit. And it's not well
documented anyway.)

Thanks,

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/