lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1284636247-4734-1-git-send-email-tj@kernel.org>
Date:	Thu, 16 Sep 2010 13:24:03 +0200
From:	Tejun Heo <tj@...nel.org>
To:	linux-kernel@...r.kernel.org, oleg@...hat.com
Cc:	dmitry.torokhov@...il.com
Subject: [PATCHSET] workqueue: implement alloc_ordered_workqueue() and flush[_delayed]_work_sync()

Hello,

This patchset implements new workqueue API fucntions -
alloc_ordered_workqueue() and flush[_delayed]_work_sync().

The former is rather straight-forward replacement for
alloc_singlethread/frozen_workqueue().

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-workqueue-implement-alloc_ordered_workqueue.patch
 0002-workqueue-cleanup-flush-cancel-functions.patch
 0003-workqueue-factor-out-start_flush_work.patch
 0004-workqueue-implement-flush-_delayed-_work_sync.patch

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.

 git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git review-flush_sync

and contains the following changes.

 include/linux/workqueue.h |   38 +++++-
 kernel/workqueue.c        |  265 +++++++++++++++++++++++++++++-----------------
 2 files changed, 201 insertions(+), 102 deletions(-)

Thanks.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ