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>
Thu, 16 Dec 2021 20:44:14 +0000 (15:44 -0500)
commit1cd5f10f6bef3e59eff3ab7ac6043478e906c77b
tree6a4e78d1e44be00d526ef4a1a2a04db2ba8df8fa
parent44ffe4e9acc32f3ee97c171ddd4a8ef2c04eebdf
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>
workqueue.c
This page took 0.025677 seconds and 4 git commands to generate.