提交 464e85eb 编写于 作者: S Steven Rostedt 提交者: Steven Rostedt

ring-buffer: do not disable ring buffer on oops_in_progress

The commit:

  commit e0fdace1
  Author: David Miller <davem@davemloft.net>
  Date:   Fri Aug 1 01:11:22 2008 -0700

    debug_locks: set oops_in_progress if we will log messages.

    Otherwise lock debugging messages on runqueue locks can deadlock the
    system due to the wakeups performed by printk().
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
Signed-off-by: NIngo Molnar <mingo@elte.hu>

Will permanently set oops_in_progress on any lockdep failure.
When this triggers it will cause any read from the ring buffer to
permanently disable the ring buffer (not to mention no locking of
printk).

This patch removes the check. It keeps the print in NMI which makes
sense. This is probably OK, since the ring buffer should not cause
something to set oops_in_progress anyway.
Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
上级 0f2541d2
...@@ -2486,7 +2486,7 @@ static inline int rb_ok_to_lock(void) ...@@ -2486,7 +2486,7 @@ static inline int rb_ok_to_lock(void)
* buffer too. A one time deal is all you get from reading * buffer too. A one time deal is all you get from reading
* the ring buffer from an NMI. * the ring buffer from an NMI.
*/ */
if (likely(!in_nmi() && !oops_in_progress)) if (likely(!in_nmi()))
return 1; return 1;
tracing_off_permanent(); tracing_off_permanent();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册