Re: schedule_delayed_work with a 0 jiffy delay
From: Tejun Heo
Date: Sun Sep 28 2014 - 10:27:22 EST
Hello, Joe.
On Fri, Sep 26, 2014 at 10:52:27AM -0400, Joe Lawrence wrote:
...
> I was wondering if such behavior was expected on !PREEMPT kernels,
> especially after b22ce2785d97 "workqueue: cond_resched() after
> processing each work item". In the ftraces I've observed from the RCU
> stall, cond_resched() never seems to schedule. Under what conditions
> would it be expected to do so?
Hmmm... it should yield if there's a higher priority task scheduled.
Maybe the workqueue in question is a highpri one?
> Changing the worker function to reschedule with at least 1 jiffy avoids
> this problem -- I was just curious if a fix at that end was appropriate.
The fact that 0 delay means immediate execution is depended upon in
multiple places and changing it will break other things. The
workqueue user itself sounds buggy to me. Can't that be fixed?
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/