Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1412012 > unrolled thread

[PATCH] scsi: device_handler: Remove create_workqueue

Started byBhaktipriya Shridhar <bhaktipriya96@gmail.com>
First post2016-06-02 11:00 +0200
Last post2016-06-02 17:00 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] scsi: device_handler: Remove create_workqueue Bhaktipriya Shridhar <bhaktipriya96@gmail.com> - 2016-06-02 11:00 +0200
    Re: [PATCH] scsi: device_handler: Remove create_workqueue Tejun Heo <tj@kernel.org> - 2016-06-02 17:00 +0200

#1412012 — [PATCH] scsi: device_handler: Remove create_workqueue

FromBhaktipriya Shridhar <bhaktipriya96@gmail.com>
Date2016-06-02 11:00 +0200
Subject[PATCH] scsi: device_handler: Remove create_workqueue
Message-ID<rFwDU-3I1-15@gated-at.bofh.it>
alloc_workqueue() replaces deprecated create_workqueue().

A dedicated workqueue has been used since the workqueue kaluad_sync_wq
was created with the purpose of STPGs to be submitted synchronously. The
workitem (viz  &pg->rtpg_work which maps to alua_rtpg_work) is involved
in normal device operation and requires forward progress under memory
pressure.

alloc_workqueue() parameters for kaluad_sync_wq are similar to kaluad_wq.
if (pg->flags & ALUA_SYNC_STPG) are set then kaluad_sync_wq is used
else kaluad_wq.

create_workqueue has been replaced with alloc_workqueue with max_active
as 0 since there is no need for throttling the number of active work
items.

Lastly, WQ_MEM_RECLAIM flag has been added to guarantee forward progress
in memory reclaim path.

Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com>
---
 drivers/scsi/device_handler/scsi_dh_alua.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/device_handler/scsi_dh_alua.c b/drivers/scsi/device_handler/scsi_dh_alua.c
index 752b5c9..193b28f 100644
--- a/drivers/scsi/device_handler/scsi_dh_alua.c
+++ b/drivers/scsi/device_handler/scsi_dh_alua.c
@@ -1152,7 +1152,7 @@ static int __init alua_init(void)
 		/* Temporary failure, bypass */
 		return SCSI_DH_DEV_TEMP_BUSY;
 	}
-	kaluad_sync_wq = create_workqueue("kaluad_sync");
+	kaluad_sync_wq = alloc_workqueue("kaluad_sync", WQ_MEM_RECLAIM, 0);
 	if (!kaluad_sync_wq) {
 		destroy_workqueue(kaluad_wq);
 		return SCSI_DH_DEV_TEMP_BUSY;
--
2.1.4

[toc] | [next] | [standalone]


#1412327

FromTejun Heo <tj@kernel.org>
Date2016-06-02 17:00 +0200
Message-ID<rFCgh-7bC-1@gated-at.bofh.it>
In reply to#1412012
Ditto with other patches.

Thanks.

-- 
tejun

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web