[dm-devel] [PATCHSET] dm: update workqueue usages
Heinz Mauelshagen
heinzm at redhat.com
Tue Dec 14 12:19:31 UTC 2010
On Sun, 2010-12-12 at 20:10 +0100, Tejun Heo wrote:
> Hello,
Hi Tejun,
what's the rational behind dropping create_singlethread_workqueue() in
favor of alloc_ordered_workqueue(...WQ_MEM_RECLAIM..) which are
semantically identical?
Heinz
>
> This patchset updates workqueue usages in dm and contains the
> following six patches.
>
> 0001-dm-stripe-drop-kstriped.patch
> 0002-dm-snap-kill-unused-dm_snapshot-queued_bios_work-and.patch
> 0003-dm-snap-convert-to-alloc-_ordered-_workqueue.patch
> 0004-dm-don-t-use-flush_scheduled_work.patch
> 0005-dm-use-non-reentrant-workqueues-if-equivalent.patch
> 0006-dm-snap-persistent-make-metadata_wq-multithreaded.patch
>
> 0001-0002 drop unnecessary workqueues. 0003-0004 conver to the new
> APIs. 0005-0006 relax ordering requirement of some workqueues.
>
> All patches in this series shouldn't introduce any noticeable
> difference in work execution ordering. I stayed away from more
> difficult ones like...
>
> * Can the workqueues converted by 0005 be multithreaded instead of
> non-reentrant?
>
> * Does dm-mpath::kmpath_handlerd need WQ_RESCUER? I suspect not but
> not sure. If not, it can be dropped and system_wq or kmultipathd
> can be used instead. Another curious thing here is that while
> activate_path work is queued to kmpath_handlerd, deactivate_path is
> queued to kmultipathd. Is this intentional? If so, it might be a
> good idea to comment why it's done that way as it's a bit confusing.
>
> * I'm pretty sure workqueues in dm-crypt would benefit from using
> multithreaded workqueue but people already seem to be working on it
> so I left it alone.
>
> This patchset is on top of 2.6.37-rc5 (6313e3c2). If it needs to be
> against a different tree, please let me know. The patches are also
> available in the following git tree.
>
> git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git update-dm
>
> and contains the following changes. Thanks.
>
> drivers/md/dm-crypt.c | 4 ++--
> drivers/md/dm-delay.c | 2 +-
> drivers/md/dm-kcopyd.c | 3 ++-
> drivers/md/dm-mpath.c | 7 ++++---
> drivers/md/dm-raid1.c | 5 +++--
> drivers/md/dm-snap-persistent.c | 4 ++--
> drivers/md/dm-snap.c | 38 --------------------------------------
> drivers/md/dm-stripe.c | 25 ++++++-------------------
> drivers/md/dm.c | 3 ++-
> 9 files changed, 22 insertions(+), 69 deletions(-)
>
> --
> tejun
>
> --
> dm-devel mailing list
> dm-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/dm-devel
More information about the dm-devel
mailing list