Messages in this thread | | | Date | Mon, 11 Mar 2013 23:35:28 +0800 | Subject | Re: [PATCH 06/13] tracing: remove dump_ran check in __ftrace_dump | From | Jovi Zhang <> |
| |
On Mon, Mar 11, 2013 at 10:08 PM, Steven Rostedt <rostedt@goodmis.org> wrote: > On Mon, 2013-03-11 at 15:13 +0800, zhangwei(Jovi) wrote: >> It's reasonable to call __ftrace_dump function not only once, >> so remove the dump_ran variable checking. > > This needs a little more work. On an oops, I only want it dumped once, > because a crash can cause another crash while its dumping, and without > that check in will corrupt the buffer. For reclusive dumping, it's already under the protection of ftrace_dump_lock spinlock, I missed something? would you explain more on this case? > > Now, we have things like ctrl^z that also does a dump where we don't > want to disable it. Cleaning this up has been on my todo list for a > while. I may go ahead and clean that up myself. Nice, please ignore this patch if that code will be cleanup. Thanks.
> > -- Steve > >> >> Signed-off-by: zhangwei(Jovi) <jovi.zhangwei@huawei.com> >> --- >> kernel/trace/trace.c | 6 ------ >> 1 file changed, 6 deletions(-) >> >> diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c >> index 090eddb..4cec7b8 100644 >> --- a/kernel/trace/trace.c >> +++ b/kernel/trace/trace.c >> @@ -5106,17 +5106,12 @@ __ftrace_dump(bool disable_tracing, enum ftrace_dump_mode oops_dump_mode) >> /* use static because iter can be a bit big for the stack */ >> static struct trace_iterator iter; >> unsigned int old_userobj; >> - static int dump_ran; >> unsigned long flags; >> int cnt = 0, cpu; >> >> /* only one dump */ >> local_irq_save(flags); >> arch_spin_lock(&ftrace_dump_lock); >> - if (dump_ran) >> - goto out; >> - >> - dump_ran = 1; >> >> tracing_off(); >> >> @@ -5206,7 +5201,6 @@ __ftrace_dump(bool disable_tracing, enum ftrace_dump_mode oops_dump_mode) >> tracing_on(); >> } >> >> - out: >> arch_spin_unlock(&ftrace_dump_lock); >> local_irq_restore(flags); >> } > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/
| |