Re: [PATCH v2 1/2] workqueue: add quiescent state between work items

From: Tejun Heo
Date: Sun Oct 05 2014 - 15:47:55 EST


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@xxxxxxxxxxx>
> > Link: https://lkml.kernel.org/r/20140926105227.01325697@xxxxxxxxxxxxxxxxxxxxxxxxxxxx
> > Link: https://lkml.kernel.org/r/20140929115445.40221d8e@xxxxxxxxxxxxxxxxxxxxxxxxxxxx
> > Fixes: b22ce2785d97 ("workqueue: cond_resched() after processing each work item")
> > Cc: <stable@xxxxxxxxxxxxxxx>
>
> 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@xxxxxxxxxx>

Thanks.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/