diff mbox

dm mpath: remove unusable kmultipathd work queue

Message ID 1478168994-9376-1-git-send-email-tang.junhui@zte.com.cn (mailing list archive)
State Rejected, archived
Delegated to: Mike Snitzer
Headers show

Commit Message

tang.junhui@zte.com.cn Nov. 3, 2016, 10:29 a.m. UTC
From: "tang.junhui" <tang.junhui@zte.com.cn>

kmultipathd work queue is used to process queued IOs for multipath
target when IOs need to retry, but now these IOs have been requeued
to block queue of DM device, hence this work queue is not useful
anymore, and this patch deletes it.

Signed-off-by: tang.junhui <tang.junhui@zte.com.cn>
---
 drivers/md/dm-mpath.c | 13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)

Comments

Hannes Reinecke Nov. 3, 2016, 12:44 p.m. UTC | #1
On 11/03/2016 11:29 AM, tang.junhui@zte.com.cn wrote:
> From: "tang.junhui" <tang.junhui@zte.com.cn>
>
> kmultipathd work queue is used to process queued IOs for multipath
> target when IOs need to retry, but now these IOs have been requeued
> to block queue of DM device, hence this work queue is not useful
> anymore, and this patch deletes it.
>
> Signed-off-by: tang.junhui <tang.junhui@zte.com.cn>
> ---
>  drivers/md/dm-mpath.c | 13 +------------
>  1 file changed, 1 insertion(+), 12 deletions(-)
>
Good point.

Reviewed-by: Hannes Reinecke <hare@suse.com>

Cheers,

Hannes
Mike Snitzer Nov. 3, 2016, 2:48 p.m. UTC | #2
On Thu, Nov 03 2016 at  6:29am -0400,
tang.junhui@zte.com.cn <tang.junhui@zte.com.cn> wrote:

> From: "tang.junhui" <tang.junhui@zte.com.cn>
> 
> kmultipathd work queue is used to process queued IOs for multipath
> target when IOs need to retry, but now these IOs have been requeued
> to block queue of DM device, hence this work queue is not useful
> anymore, and this patch deletes it.
> 
> Signed-off-by: tang.junhui <tang.junhui@zte.com.cn>

Nack, you must be looking at older code.  bio-based DM multipath makes
use of kmultipathd.

When suggesting changes please always make sure you're working with the
latest upstream Linux code.

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
tang.junhui@zte.com.cn Nov. 4, 2016, 1:07 a.m. UTC | #3
Hello Mike,

I used the master branch, the code seems a little older,
It's true that the newer branches such as dm-4.10 have reused 
kmultipathd.

Thanks,
Tang



发件人:         Mike Snitzer <snitzer@redhat.com>
收件人:         tang.junhui@zte.com.cn, 
抄送:   zhang.kai16@zte.com.cn, dm-devel@redhat.com, agk@redhat.com
日期:   2016/11/03 22:57
主题:   Re: [dm-devel] dm mpath: remove unusable kmultipathd work queue
发件人: dm-devel-bounces@redhat.com



On Thu, Nov 03 2016 at  6:29am -0400,
tang.junhui@zte.com.cn <tang.junhui@zte.com.cn> wrote:

> From: "tang.junhui" <tang.junhui@zte.com.cn>

> 

> kmultipathd work queue is used to process queued IOs for multipath

> target when IOs need to retry, but now these IOs have been requeued

> to block queue of DM device, hence this work queue is not useful

> anymore, and this patch deletes it.

> 

> Signed-off-by: tang.junhui <tang.junhui@zte.com.cn>


Nack, you must be looking at older code.  bio-based DM multipath makes
use of kmultipathd.

When suggesting changes please always make sure you're working with the
latest upstream Linux code.

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
Mike Snitzer Nov. 4, 2016, 1:42 a.m. UTC | #4
Commit 76e33fe4e2c43 ("dm mpath: reinstate bio-based support") was
included in Linux 4.8.  Not sure how you missed this.

On Thu, Nov 03 2016 at  9:07pm -0400,
tang.junhui@zte.com.cn <tang.junhui@zte.com.cn> wrote:

> Hello Mike,
> 
> I used the master branch, the code seems a little older,
> It's true that the newer branches such as dm-4.10 have reused 
> kmultipathd.
> 
> Thanks,
> Tang
> 
> 
> 
> 发件人:         Mike Snitzer <snitzer@redhat.com>
> 收件人:         tang.junhui@zte.com.cn, 
> 抄送:   zhang.kai16@zte.com.cn, dm-devel@redhat.com, agk@redhat.com
> 日期:   2016/11/03 22:57
> 主题:   Re: [dm-devel] dm mpath: remove unusable kmultipathd work queue
> 发件人: dm-devel-bounces@redhat.com
> 
> 
> 
> On Thu, Nov 03 2016 at  6:29am -0400,
> tang.junhui@zte.com.cn <tang.junhui@zte.com.cn> wrote:
> 
> > From: "tang.junhui" <tang.junhui@zte.com.cn>
> > 
> > kmultipathd work queue is used to process queued IOs for multipath
> > target when IOs need to retry, but now these IOs have been requeued
> > to block queue of DM device, hence this work queue is not useful
> > anymore, and this patch deletes it.
> > 
> > Signed-off-by: tang.junhui <tang.junhui@zte.com.cn>
> 
> Nack, you must be looking at older code.  bio-based DM multipath makes
> use of kmultipathd.
> 
> When suggesting changes please always make sure you're working with the
> latest upstream Linux code.
> 
> --
> dm-devel mailing list
> dm-devel@redhat.com
> https://www.redhat.com/mailman/listinfo/dm-devel
> 
> 

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
diff mbox

Patch

diff --git a/drivers/md/dm-mpath.c b/drivers/md/dm-mpath.c
index d376dc8..8f687b9 100644
--- a/drivers/md/dm-mpath.c
+++ b/drivers/md/dm-mpath.c
@@ -117,7 +117,7 @@  typedef int (*action_fn) (struct pgpath *pgpath);
 
 static struct kmem_cache *_mpio_cache;
 
-static struct workqueue_struct *kmultipathd, *kmpath_handlerd;
+static struct workqueue_struct *kmpath_handlerd;
 static void trigger_event(struct work_struct *work);
 static void activate_path(struct work_struct *work);
 static int __pgpath_busy(struct pgpath *pgpath);
@@ -935,7 +935,6 @@  static void flush_multipath_work(struct multipath *m)
 
 	flush_workqueue(kmpath_handlerd);
 	multipath_wait_for_pg_init_completion(m);
-	flush_workqueue(kmultipathd);
 	flush_work(&m->trigger_event);
 
 	spin_lock_irqsave(&m->lock, flags);
@@ -1737,13 +1736,6 @@  static int __init dm_multipath_init(void)
 		goto bad_register_target;
 	}
 
-	kmultipathd = alloc_workqueue("kmpathd", WQ_MEM_RECLAIM, 0);
-	if (!kmultipathd) {
-		DMERR("failed to create workqueue kmpathd");
-		r = -ENOMEM;
-		goto bad_alloc_kmultipathd;
-	}
-
 	/*
 	 * A separate workqueue is used to handle the device handlers
 	 * to avoid overloading existing workqueue. Overloading the
@@ -1765,8 +1757,6 @@  static int __init dm_multipath_init(void)
 	return 0;
 
 bad_alloc_kmpath_handlerd:
-	destroy_workqueue(kmultipathd);
-bad_alloc_kmultipathd:
 	dm_unregister_target(&multipath_target);
 bad_register_target:
 	kmem_cache_destroy(_mpio_cache);
@@ -1777,7 +1767,6 @@  bad_register_target:
 static void __exit dm_multipath_exit(void)
 {
 	destroy_workqueue(kmpath_handlerd);
-	destroy_workqueue(kmultipathd);
 
 	dm_unregister_target(&multipath_target);
 	kmem_cache_destroy(_mpio_cache);