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