linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] [GIT PULL] tracing: Fix two annoying bugs
@ 2018-09-06 15:52 Steven Rostedt
  2018-09-06 15:52 ` [PATCH 1/2] tracing: Add back in rcu_irq_enter/exit_irqson() for rcuidle tracepoints Steven Rostedt
  2018-09-06 15:52 ` [PATCH 2/2] printk/tracing: Do not trace printk_nmi_enter() Steven Rostedt
  0 siblings, 2 replies; 3+ messages in thread
From: Steven Rostedt @ 2018-09-06 15:52 UTC (permalink / raw)
  To: linux-kernel; +Cc: Linus Torvalds, Ingo Molnar, Andrew Morton


Linus,

This fixes two bugs:

 - The first one is a side effect caused by using SRCU for rcuidle
   tracepoints. It seems that perf was depending on the rcuidle
   tracepoints to make RCU watch when it wasn't. The real fix will
   be to have perf use SRCU instead of depending on RCU watching,
   but that can't be done until SRCU is safe to use in NMI context
   (Paul's working on that).

 - The second bug fix is for a bug that's been periodically making
   my tests fail randomly for some time. I haven't had time to track
   it down, but finally have. It has to do with stressing NMIs (via perf)
   while enabling or disabling ftrace function handling with lockdep
   enabled. If an interrupt happens and just as it returns, it sets
   lockdep back to "interrupts enabled" but before it returns an NMI
   is triggered, and if this happens while printk_nmi_enter has a
   breakpoint attached to it (because ftrace is converting it to or from
   nop to call fentry), the breakpoint trap also calls into lockdep,
   and since returning from the NMI to a interrupt handler, interrupts
   were disabled when the NMI went off, lockdep keeps its state as
   interrupts disabled when it returns back from the interrupt handler
   where interrupts are enabled. This causes lockdep_assert_irqs_enabled()
   to trigger a false positive.

Please pull the latest trace-v4.19-rc2 tree, which can be found at:


  git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
trace-v4.19-rc2

Tag SHA1: 0564bf12a919d435afdcc74bd015f9249dd572db
Head SHA1: d1c392c9e2a301f38998a353f467f76414e38725


Steven Rostedt (VMware) (2):
      tracing: Add back in rcu_irq_enter/exit_irqson() for rcuidle tracepoints
      printk/tracing: Do not trace printk_nmi_enter()

----
 include/linux/tracepoint.h  | 8 ++++++--
 kernel/printk/printk_safe.c | 4 ++--
 2 files changed, 8 insertions(+), 4 deletions(-)

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-09-06 15:54 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-06 15:52 [PATCH 0/2] [GIT PULL] tracing: Fix two annoying bugs Steven Rostedt
2018-09-06 15:52 ` [PATCH 1/2] tracing: Add back in rcu_irq_enter/exit_irqson() for rcuidle tracepoints Steven Rostedt
2018-09-06 15:52 ` [PATCH 2/2] printk/tracing: Do not trace printk_nmi_enter() Steven Rostedt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).