Fix: don't wait after completion of a work queue job batch
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 7 Dec 2018 22:06:38 +0000 (17:06 -0500)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Sun, 9 Dec 2018 11:47:12 +0000 (06:47 -0500)
commitc6871b650af872296c57dc65f93bd912d2b4435e
tree861648fcd11193727b1dd20b45e534a878f24f8c
parent73d8b52e55af02475eb693a33b36fcfbcf761c9a
Fix: don't wait after completion of a work queue job batch

As indicated in the previous patch of this series, waiting on
completion of a job batch from the work queue artificially increases
the latency of the work queue.

The previous patch removed the wait that is performed when the
work queue is observed to be empty and was observed as the cause of a
performance problem.

It is likely that waiting when the queue is observed to be non-empty
is similarly unintended. Note that I have not observed such a problem
myself.

If a workqueue user even need the explicit delay for batching (e.g. if
a call-rcu implementation would ever use the workqueue worker thread),
it can add it within the worker_before_wait_fct callback received as
argument from workqueue creation.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
src/workqueue.c
This page took 0.029828 seconds and 4 git commands to generate.