Messages in this thread | | | Date | Mon, 23 Apr 2018 14:48:55 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH tip/core/rcu 06/22] rcu: Rename cond_resched_rcu_qs() to cond_resched_tasks_rcu_qs() |
| |
On Mon, Apr 23, 2018 at 05:32:23AM -0700, Paul E. McKenney wrote: > On Mon, Apr 23, 2018 at 10:53:47AM +0200, Peter Zijlstra wrote: > > On Sun, Apr 22, 2018 at 07:32:11PM -0700, Paul E. McKenney wrote: > > > Commit e31d28b6ab8f ("trace: Eliminate cond_resched_rcu_qs() in favor > > > of cond_resched()") substituted cond_resched() for the earlier call > > > to cond_resched_rcu_qs(). However, the new-age cond_resched() does > > > not do anything to help RCU-tasks grace periods because (1) RCU-tasks > > > is only enabled when CONFIG_PREEMPT=y and (2) cond_resched() is a > > > complete no-op when preemption is enabled. This situation results > > > in hangs when running the trace benchmarks. > > > > But a few patches earlier you tried to address that.. > > Yes. And all this patch does is change the name to better match > what this primitive actually does. > > I could merge the two patches, if that would help.
I understood the earlier patch was actually changing cond_resched() to also work for task-rcu; which resulted in it acually not being a no-op for PREEMPT anymore.
But then here you say it doesn't because it's a no-op.
It's not about the rename.. It is about one patch changing PREEMPT cond_resched to not be a no-op and you here justifying things because PREEMPT cond_resched it a no-op.
| |