On Mon, 12 Nov 2018 19:17:41 +0100
Peter Zijlstra <pet...@infradead.org> wrote:

> On Mon, Nov 12, 2018 at 05:28:52AM -0800, Paul E. McKenney wrote:
> > On Mon, Nov 12, 2018 at 10:00:47AM +0100, Peter Zijlstra wrote:  
> 
> > > Still, better safe than sorry. It was a rather big change in behaviour,
> > > so it wouldn't have been strange to call that out.  
> > 
> > This guy:
> > 
> > 45975c7d21a1 ("rcu: Define RCU-sched API in terms of RCU for Tree RCU 
> > PREEMPT builds")
> > 
> > Has a commit log that says:
> > 
> >     Now that RCU-preempt knows about preemption disabling, its
> >     implementation of synchronize_rcu() works for synchronize_sched(),
> >     and likewise for the other RCU-sched update-side API members.
> >     This commit therefore confines the RCU-sched update-side code
> >     to CONFIG_PREEMPT=n builds, and defines RCU-sched's update-side
> >     API members in terms of those of RCU-preempt.
> > 
> > That last phrase seems pretty explicit.  What am I missing here?  
> 
> That does not explicitly state that because RCU-preempt
> synchornize_rcu() can take _much_ longer, the new synchronize_sched()
> can now take _much_ longer too.

I'm curious. Are there measurements to see how much longer they can
take? Saying "_much_ longer" would require that one has done the
timings to see what the actual impact is.

> 
> So when someone bisects a problem to this commit; and he reads the
> Changelog, he might get the impression that was unexpected.

It may well be unexpected. What is the timing differences between a
normal synchronize_rcu and a synchronize_sched. Of course, 99% of users
wont see any difference as 99% don't run CONFIG_PREEMPT.

-- Steve

Reply via email to