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

From: Jiri Pirko
Date: Tue Oct 07 2014 - 03:29:57 EST


Mon, Oct 06, 2014 at 06:21:58AM CEST, paulmck@xxxxxxxxxxxxxxxxxx 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@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>
>
>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.

Thanks.
--
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/