|| ||Tejun Heo <email@example.com> |
|| ||firstname.lastname@example.org, email@example.com |
|| ||[PATCHSET] workqueue: implement alloc_ordered_workqueue() and flush[_delayed]_work_sync() |
|| ||Thu, 16 Sep 2010 13:24:03 +0200|
|| ||Article, Thread
This patchset implements new workqueue API fucntions -
alloc_ordered_workqueue() and flush[_delayed]_work_sync().
The former is rather straight-forward replacement for
The latter two are similar to cancel[_delayed]_work_sync() but wait
for the work to finish execution rather than cancelling them. These
syncing flushes make sure that works which were queued on multiple
workqueues or a reentrant workqueues have finished execution on all
CPUs. One usage of these new flushes is replacing
flush_scheduled_works() with finer scoped flushes.
This patchset contains the following four patches.
0001 adds alloc_ordered_workqueue(). 0002-0003 prepare for syncing
flushes. 0004 implements them.
Dmitry, as I wrote before, I think serio should be able to simply use
schedule_work() combined with flush_work_sync() implemented by this
patchset. Would this work for you?
The patches are available in the following git tree.
and contains the following changes.
include/linux/workqueue.h | 38 +++++-
kernel/workqueue.c | 265 +++++++++++++++++++++++++++++-----------------
2 files changed, 201 insertions(+), 102 deletions(-)
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to firstname.lastname@example.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/