[PATCH] scsi: device_handler: Remove create_workqueue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx>
---
 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

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux