diff options
author | Bhaktipriya Shridhar <bhaktipriya96@gmail.com> | 2016-08-30 22:03:25 +0300 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2016-09-02 13:13:57 +0300 |
commit | b2990536f44752e54dc300a2f98253519adfe649 (patch) | |
tree | 10456b943c800cb535935e00b99227a82a072a4c /drivers/message/fusion | |
parent | 77d4f08024d86974d3eddc6d0a7143f74974783f (diff) | |
download | linux-b2990536f44752e54dc300a2f98253519adfe649.tar.xz |
scsi: mpt: Remove deprecated create_singlethread_workqueue
The workqueues "ioc->reset_work_q" and "ioc->fw_event_q" queue a single
work item &ioc->fault_reset_work and &fw_event->work, respectively and
hence don't require ordering. Hence, they have been converted to use
alloc_workqueue().
The WQ_MEM_RECLAIM flag has been set to ensure forward progress under
memory pressure since the workqueue belongs to a storage driver which is
being used on a memory reclaim path.
Since there are fixed number of work items, explicit concurrency limit
is unnecessary here.
Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/message/fusion')
-rw-r--r-- | drivers/message/fusion/mptbase.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c index 5537f8df8512..89c7ed16b4df 100644 --- a/drivers/message/fusion/mptbase.c +++ b/drivers/message/fusion/mptbase.c @@ -1865,8 +1865,8 @@ mpt_attach(struct pci_dev *pdev, const struct pci_device_id *id) snprintf(ioc->reset_work_q_name, MPT_KOBJ_NAME_LEN, "mpt_poll_%d", ioc->id); - ioc->reset_work_q = - create_singlethread_workqueue(ioc->reset_work_q_name); + ioc->reset_work_q = alloc_workqueue(ioc->reset_work_q_name, + WQ_MEM_RECLAIM, 0); if (!ioc->reset_work_q) { printk(MYIOC_s_ERR_FMT "Insufficient memory to add adapter!\n", ioc->name); @@ -1992,7 +1992,8 @@ mpt_attach(struct pci_dev *pdev, const struct pci_device_id *id) INIT_LIST_HEAD(&ioc->fw_event_list); spin_lock_init(&ioc->fw_event_lock); snprintf(ioc->fw_event_q_name, MPT_KOBJ_NAME_LEN, "mpt/%d", ioc->id); - ioc->fw_event_q = create_singlethread_workqueue(ioc->fw_event_q_name); + ioc->fw_event_q = alloc_workqueue(ioc->fw_event_q_name, + WQ_MEM_RECLAIM, 0); if (!ioc->fw_event_q) { printk(MYIOC_s_ERR_FMT "Insufficient memory to add adapter!\n", ioc->name); |