Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions iscsi-scst/kernel/isert-scst/iser_global.c
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,11 @@ int isert_global_init(void)
spin_lock_init(&isert_glob.portal_lock);
init_waitqueue_head(&isert_glob.portal_wq);

isert_glob.conn_wq = alloc_workqueue("isert_conn_wq", 0, 1);
isert_glob.conn_wq = alloc_workqueue("isert_conn_wq", 0
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 19, 0)
| WQ_PERCPU
#endif
, 1);
if (!isert_glob.conn_wq) {
PRINT_ERROR("Failed to alloc iser conn work queue");
return -ENOMEM;
Expand All @@ -164,7 +168,6 @@ int isert_global_init(void)

free_wq:
destroy_workqueue(isert_glob.conn_wq);

return -ENOMEM;
}

Expand Down
7 changes: 5 additions & 2 deletions iscsi-scst/kernel/isert-scst/iser_rdma.c
Original file line number Diff line number Diff line change
Expand Up @@ -973,8 +973,11 @@ static struct isert_device *isert_device_create(struct ib_device *ib_dev)
cq_desc->idx = i;
INIT_WORK(&cq_desc->cq_comp_work, isert_cq_comp_work_cb);

cq_desc->cq_workqueue = alloc_workqueue("isert_cq_%p",
WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM, 1,
cq_desc->cq_workqueue = alloc_workqueue("isert_cq_%p", 0
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 19, 0)
| WQ_PERCPU
#endif
| WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM, 1,
cq_desc);
if (unlikely(!cq_desc->cq_workqueue)) {
PRINT_ERROR("Failed to alloc iser cq work queue for dev:%s",
Expand Down
2 changes: 1 addition & 1 deletion qla2x00t-32gbit/qla_nvme.c
Original file line number Diff line number Diff line change
Expand Up @@ -1257,7 +1257,7 @@ void qla2xxx_process_purls_iocb(void **pkt, struct rsp_que **rsp)
a.reason = FCNVME_RJT_RC_LOGIC;
a.explanation = FCNVME_RJT_EXP_NONE;
xmt_reject = true;
kfree(item);
qla24xx_free_purex_item(item);
goto out;
}

Expand Down
12 changes: 11 additions & 1 deletion qla2x00t-32gbit/qla_os.c
Original file line number Diff line number Diff line change
Expand Up @@ -3508,7 +3508,11 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
"req->req_q_in=%p req->req_q_out=%p rsp->rsp_q_in=%p rsp->rsp_q_out=%p.\n",
req->req_q_in, req->req_q_out, rsp->rsp_q_in, rsp->rsp_q_out);

ha->wq = alloc_workqueue("qla2xxx_wq", WQ_MEM_RECLAIM, 0);
ha->wq = alloc_workqueue("qla2xxx_wq", 0
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 19, 0)
| WQ_PERCPU
#endif
| WQ_MEM_RECLAIM, 0);
if (unlikely(!ha->wq)) {
ret = -ENOMEM;
goto probe_failed;
Expand Down Expand Up @@ -5402,7 +5406,11 @@ void qla24xx_sched_upd_fcport(fc_port_t *fcport)
qla2x00_set_fcport_disc_state(fcport, DSC_UPD_FCPORT);
spin_unlock_irqrestore(&fcport->vha->work_lock, flags);

#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 19, 0)
queue_work(system_unbound_wq, &fcport->reg_work);
#else
queue_work(system_dfl_wq, &fcport->reg_work);
#endif
}

static
Expand Down Expand Up @@ -8021,10 +8029,12 @@ qla2xxx_pci_slot_reset(struct pci_dev *pdev)

pci_restore_state(pdev);

#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 19, 0)
/* pci_restore_state() clears the saved_state flag of the device
* save restored state which resets saved_state flag
*/
pci_save_state(pdev);
#endif

if (ha->mem_only)
rc = pci_enable_device_mem(pdev);
Expand Down
8 changes: 7 additions & 1 deletion qla2x00t/qla_os.c
Original file line number Diff line number Diff line change
Expand Up @@ -468,7 +468,11 @@ static int qla25xx_setup_mode(struct scsi_qla_host *vha)
"Failed to create request queue.\n");
goto fail;
}
ha->wq = alloc_workqueue("qla2xxx_wq", WQ_MEM_RECLAIM, 1);
ha->wq = alloc_workqueue("qla2xxx_wq", 0
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 19, 0)
| WQ_PERCPU
#endif
| WQ_MEM_RECLAIM, 1);
vha->req = ha->req_q_map[req];
options |= BIT_1;
for (ques = 1; ques < ha->max_rsp_queues; ques++) {
Expand Down Expand Up @@ -4688,10 +4692,12 @@ qla2xxx_pci_slot_reset(struct pci_dev *pdev)

pci_restore_state(pdev);

#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 19, 0)
/* pci_restore_state() clears the saved_state flag of the device
* save restored state which resets saved_state flag
*/
pci_save_state(pdev);
#endif

if (ha->mem_only)
rc = pci_enable_device_mem(pdev);
Expand Down
4 changes: 3 additions & 1 deletion scst/src/scst_event.c
Original file line number Diff line number Diff line change
Expand Up @@ -1082,7 +1082,9 @@ int scst_event_init(void)

TRACE_ENTRY();

scst_event_wq = alloc_workqueue("scst_event_wq", 0, 0);
scst_event_wq = alloc_workqueue("scst_event_wq", 0
| WQ_UNBOUND,
0);
if (unlikely(!scst_event_wq)) {
PRINT_ERROR("Failed to allocate scst_event_wq");
res = -ENOMEM;
Expand Down
4 changes: 3 additions & 1 deletion scst/src/scst_lib.c
Original file line number Diff line number Diff line change
Expand Up @@ -15747,7 +15747,9 @@ int __init scst_lib_init(void)

scst_scsi_op_list_init();

scst_release_acg_wq = alloc_workqueue("scst_release_acg", 0, 1);
scst_release_acg_wq = alloc_workqueue("scst_release_acg", 0
| WQ_UNBOUND,
0);
if (unlikely(!scst_release_acg_wq)) {
PRINT_ERROR("Failed to allocate scst_release_acg_wq");
res = -ENOMEM;
Expand Down
6 changes: 5 additions & 1 deletion srpt/src/ib_srpt.c
Original file line number Diff line number Diff line change
Expand Up @@ -4562,7 +4562,11 @@ static int __init srpt_init_module(void)
goto out;
}

srpt_wq = alloc_workqueue("srpt", WQ_SYSFS, 0);
srpt_wq = alloc_workqueue("srpt", 0
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 19, 0)
| WQ_PERCPU
#endif
| WQ_SYSFS, 0);
if (!srpt_wq) {
pr_err("Couldn't allocate the ib_srpt workqueue\n");
ret = -ENOMEM;
Expand Down
Loading