Re: rcu-bh design

2018-05-04 Thread Joel Fernandes
On Fri, May 4, 2018 at 4:42 PM Paul E. McKenney wrote: [..] > > Say that the tracepoint code is buggy and for some reason a > > call_srcu wasn't done. For example, say the hypothetical bug I'm > > taking about is in tracepoint_remove_func which called the > > rcu_assign_pointer, but didn't call re

Re: rcu-bh design

2018-05-04 Thread Paul E. McKenney
On Fri, May 04, 2018 at 04:20:41PM -0700, Joel Fernandes wrote: > > > On 05/04/2018 03:49 PM, Paul E. McKenney wrote: > >>Yes just one more ;-). I am trying to write a 'probetorture' test inspired > >>by RCU torture that whacks the tracepoints in various scenarios. One of the > >>things I want to

Re: rcu-bh design

2018-05-04 Thread Joel Fernandes
On 05/04/2018 03:49 PM, Paul E. McKenney wrote: Yes just one more ;-). I am trying to write a 'probetorture' test inspired by RCU torture that whacks the tracepoints in various scenarios. One of the things I want to do is verify the RCU callbacks are queued and secondly, they are executed. Just

Re: rcu-bh design

2018-05-04 Thread Paul E. McKenney
On Fri, May 04, 2018 at 08:33:19PM +, Joel Fernandes wrote: > On Fri, May 4, 2018 at 1:10 PM Paul E. McKenney > wrote: > [...] > > > >> > Almost. All context switches in an RCU-preempt read-side critical > section > > > >> > must be subject to priority boosting. Preemption is one example, >

Re: rcu-bh design

2018-05-04 Thread Joel Fernandes
On Fri, May 4, 2018 at 1:10 PM Paul E. McKenney wrote: [...] > > >> > Almost. All context switches in an RCU-preempt read-side critical section > > >> > must be subject to priority boosting. Preemption is one example, because > > >> > boosting the priority of the preempted task will make it runn

Re: rcu-bh design

2018-05-04 Thread Paul E. McKenney
On Fri, May 04, 2018 at 12:57:19PM -0700, Joel Fernandes wrote: > On Fri, May 4, 2018 at 11:49 AM, Paul E. McKenney > wrote: > > On Fri, May 04, 2018 at 06:34:32PM +, Joel Fernandes wrote: > >> On Fri, May 4, 2018 at 10:42 AM Paul E. McKenney > >> > >> wrote: > >> [...] > >> > > > > But preem

Re: rcu-bh design

2018-05-04 Thread Joel Fernandes
On Fri, May 4, 2018 at 11:49 AM, Paul E. McKenney wrote: > On Fri, May 04, 2018 at 06:34:32PM +, Joel Fernandes wrote: >> On Fri, May 4, 2018 at 10:42 AM Paul E. McKenney >> >> wrote: >> [...] >> > > > > But preemptible RCU *does not* use context-switch as a quiescent >> state. >> > > > It do

Re: rcu-bh design

2018-05-04 Thread Paul E. McKenney
On Fri, May 04, 2018 at 06:34:32PM +, Joel Fernandes wrote: > On Fri, May 4, 2018 at 10:42 AM Paul E. McKenney > > wrote: > [...] > > > > > But preemptible RCU *does not* use context-switch as a quiescent > state. > > > > It doesn't? > > > > > > I thought that's what preemptible rcu is about.

Re: rcu-bh design

2018-05-04 Thread Joel Fernandes
On Fri, May 4, 2018 at 10:42 AM Paul E. McKenney wrote: [...] > > > > But preemptible RCU *does not* use context-switch as a quiescent state. > > > It doesn't? > > > > I thought that's what preemptible rcu is about. You can get preempted but > > you shouldn't block in a read-section. Is that not t

Re: rcu-bh design

2018-05-04 Thread Paul E. McKenney
> On Fri, 04 May 2018 16:20:11 + > > Joel Fernandes wrote: > > > > Hi Paul, everyone, > > > > > > I had some question(s) about rcu-bh design. > > > I am trying to understand the reasoning or need of it. I see that rcu-bh > > > will di

Re: rcu-bh design

2018-05-04 Thread Steven Rostedt
On Fri, 4 May 2018 10:32:06 -0700 "Paul E. McKenney" wrote: > > > But preemptible RCU *does not* use context-switch as a quiescent state. > > > > It doesn't? > > It does, but only sort of. Ah, my confusion. I was thinking of rcu_read_lock_sched() as "preemptible RCU", not the "we can preem

Re: rcu-bh design

2018-05-04 Thread Paul E. McKenney
On Fri, May 04, 2018 at 12:30:50PM -0400, Steven Rostedt wrote: > On Fri, 04 May 2018 16:20:11 + > Joel Fernandes wrote: > > > Hi Paul, everyone, > > > > I had some question(s) about rcu-bh design. > > I am trying to understand the reasoning or need of it. I

Re: rcu-bh design

2018-05-04 Thread Joel Fernandes
gt; > > > I had some question(s) about rcu-bh design. > > I am trying to understand the reasoning or need of it. I see that rcu-bh > > will disable softirqs across read-side sections. But I am wondering why > > this is needed. __do_softirq already disables softirq when

Re: rcu-bh design

2018-05-04 Thread Steven Rostedt
On Fri, 04 May 2018 16:20:11 + Joel Fernandes wrote: > Hi Paul, everyone, > > I had some question(s) about rcu-bh design. > I am trying to understand the reasoning or need of it. I see that rcu-bh > will disable softirqs across read-side sections. But I am wondering why &

rcu-bh design

2018-05-04 Thread Joel Fernandes
Hi Paul, everyone, I had some question(s) about rcu-bh design. I am trying to understand the reasoning or need of it. I see that rcu-bh will disable softirqs across read-side sections. But I am wondering why this is needed. __do_softirq already disables softirq when a softirq handler is running