[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