From 0a14cd14bb8de4385c133f5cec3c4ec06f41ee8b Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Thu, 23 Oct 2014 17:44:05 -0400 Subject: [PATCH] workqueue: consider "own" item for do_work criterion Signed-off-by: Mathieu Desnoyers --- urcu/workqueue-fifo.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/urcu/workqueue-fifo.h b/urcu/workqueue-fifo.h index a3d1e72..a2bbd90 100644 --- a/urcu/workqueue-fifo.h +++ b/urcu/workqueue-fifo.h @@ -366,7 +366,8 @@ enum urcu_accept_ret urcu_accept_work(struct urcu_workqueue *queue, has_work = ___urcu_grab_work(worker, &queue->head, &queue->tail, 0); /* Don't wait if we have work to do. */ - if (has_work || !cds_wfcq_empty(&worker->head, &worker->tail)) + if (has_work || worker->own + || !cds_wfcq_empty(&worker->head, &worker->tail)) goto do_work; /* Try to steal work from sibling instead of blocking */ if (__urcu_steal_work(queue, worker)) -- 2.34.1