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?


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at