Messages in this thread | | | Date | Tue, 7 Oct 2014 06:43:29 -0700 | From | "Paul E. McKenney" <> | Subject | Re: [PATCH v2 1/2] workqueue: add quiescent state between work items |
| |
On Tue, Oct 07, 2014 at 09:29:42AM +0200, Jiri Pirko wrote: > Mon, Oct 06, 2014 at 06:21:58AM CEST, paulmck@linux.vnet.ibm.com wrote: > >On Sun, Oct 05, 2014 at 03:47:48PM -0400, Tejun Heo wrote: > >> On Sun, Oct 05, 2014 at 03:21:19PM -0400, Tejun Heo wrote: > >> > On Sun, Oct 05, 2014 at 01:24:21PM -0400, Joe Lawrence wrote: > >> > > Similar to the stop_machine deadlock scenario on !PREEMPT kernels > >> > > addressed in b22ce2785d97 "workqueue: cond_resched() after processing > >> > > each work item", kworker threads requeueing back-to-back with zero jiffy > >> > > delay can stall RCU. The cond_resched call introduced in that fix will > >> > > yield only iff there are other higher priority tasks to run, so force a > >> > > quiescent RCU state between work items. > >> > > > >> > > Signed-off-by: Joe Lawrence <joe.lawrence@stratus.com> > >> > > Link: https://lkml.kernel.org/r/20140926105227.01325697@jlaw-desktop.mno.stratus.com > >> > > Link: https://lkml.kernel.org/r/20140929115445.40221d8e@jlaw-desktop.mno.stratus.com > >> > > Fixes: b22ce2785d97 ("workqueue: cond_resched() after processing each work item") > >> > > Cc: <stable@vger.kernel.org> > >> > > >> > Applied to wq/for-3.17-fixes. If 3.17 comes out before this gets > >> > merged, I'll send it as for-3.18. > >> > >> Oops, the rcu calls aren't in mainline yet. I think it'd be best to > >> route these through the RCU tree. Paul, can you please route these > >> two patches? > >> > >> Acked-by: Tejun Heo <tj@kernel.org> > > > >Will do! > > > >I will try 3.17, failing that, 3.18. > > > Paul, Tehun, how do you propose to fix this on older kernels which do > not have rcu_note_voluntary_context_switch? I'm particullary interested > in 3.10.
Hello, Jiri,
Older kernels can instead use rcu_note_context_switch().
Thanx, Paul
| |