Re: [PATCH] tracing: Prevent RCU EQS breakage in preemptirq events

2019-07-29 Thread Joel Fernandes
On Mon, Jul 29, 2019 at 10:15 PM Steven Rostedt wrote: [snip] > > If the problem was only with userstacktrace, it will be reasonable to > > surround only the userstack unwinder. But the situation is similar to > > the previous "tracing vs CR2" case. As Peter taught me in > >

Re: [PATCH] tracing: Prevent RCU EQS breakage in preemptirq events

2019-07-29 Thread Steven Rostedt
On Tue, 30 Jul 2019 11:00:42 +0900 Eiichi Tsukata wrote: > Thanks for comments. > > On 2019/07/30 0:21, Steven Rostedt wrote: > > On Mon, 29 Jul 2019 10:07:34 +0900 > > Eiichi Tsukata wrote: > > > >> If context tracking is enabled, causing page fault in preemptirq > >> irq_enable or

Re: [PATCH] tracing: Prevent RCU EQS breakage in preemptirq events

2019-07-29 Thread Eiichi Tsukata
Thanks for comments. On 2019/07/30 0:21, Steven Rostedt wrote: > On Mon, 29 Jul 2019 10:07:34 +0900 > Eiichi Tsukata wrote: > >> If context tracking is enabled, causing page fault in preemptirq >> irq_enable or irq_disable events triggers the following RCU EQS warning. >> >> Reproducer: >> >>

Re: [PATCH] tracing: Prevent RCU EQS breakage in preemptirq events

2019-07-29 Thread Steven Rostedt
On Tue, 30 Jul 2019 10:50:36 +0900 Eiichi Tsukata wrote: > > > > I think they already (try to) do that; see 'tracing_irq_cpu'. > > > > Or you mean something like this? > As for trace_hardirqs_off_caller: You missed what Peter said. > > diff --git a/kernel/trace/trace_preemptirq.c

Re: [PATCH] tracing: Prevent RCU EQS breakage in preemptirq events

2019-07-29 Thread Eiichi Tsukata
Thanks for comments. On 2019/07/29 19:29, Peter Zijlstra wrote: > On Sun, Jul 28, 2019 at 09:25:58PM -0700, Andy Lutomirski wrote: >> On Sun, Jul 28, 2019 at 6:08 PM Eiichi Tsukata wrote: > >>> diff --git a/kernel/trace/trace_preemptirq.c >>> b/kernel/trace/trace_preemptirq.c >>> index

Re: [PATCH] tracing: Prevent RCU EQS breakage in preemptirq events

2019-07-29 Thread Steven Rostedt
On Mon, 29 Jul 2019 10:07:34 +0900 Eiichi Tsukata wrote: > If context tracking is enabled, causing page fault in preemptirq > irq_enable or irq_disable events triggers the following RCU EQS warning. > > Reproducer: > > // CONFIG_PREEMPTIRQ_EVENTS=y > // CONFIG_CONTEXT_TRACKING=y > //

Re: [PATCH] tracing: Prevent RCU EQS breakage in preemptirq events

2019-07-29 Thread Peter Zijlstra
On Sun, Jul 28, 2019 at 09:25:58PM -0700, Andy Lutomirski wrote: > On Sun, Jul 28, 2019 at 6:08 PM Eiichi Tsukata wrote: > > diff --git a/kernel/trace/trace_preemptirq.c > > b/kernel/trace/trace_preemptirq.c > > index 4d8e99fdbbbe..031b51cb94d0 100644 > > --- a/kernel/trace/trace_preemptirq.c >

Re: [PATCH] tracing: Prevent RCU EQS breakage in preemptirq events

2019-07-28 Thread Andy Lutomirski
On Sun, Jul 28, 2019 at 6:08 PM Eiichi Tsukata wrote: > > If context tracking is enabled, causing page fault in preemptirq > irq_enable or irq_disable events triggers the following RCU EQS warning. > Yuck. > diff --git a/kernel/context_tracking.c b/kernel/context_tracking.c > index

[PATCH] tracing: Prevent RCU EQS breakage in preemptirq events

2019-07-28 Thread Eiichi Tsukata
If context tracking is enabled, causing page fault in preemptirq irq_enable or irq_disable events triggers the following RCU EQS warning. Reproducer: // CONFIG_PREEMPTIRQ_EVENTS=y // CONFIG_CONTEXT_TRACKING=y // CONFIG_RCU_EQS_DEBUG=y # echo 1 > events/preemptirq/irq_disable/enable #