mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 04:04:43 +01:00
usb: xhci: replace use of system_wq with system_percpu_wq
Currently if a user enqueues a work item using schedule_delayed_work() the used wq is "system_wq" (per-cpu wq) while queue_delayed_work() use WORK_CPU_UNBOUND (used when a cpu is not specified). The same applies to schedule_work() that is using system_wq and queue_work(), that makes use again of WORK_CPU_UNBOUND. This lack of consistency cannot be addressed without refactoring the API. This continues the effort to refactor workqueue APIs, which began with the introduction of new workqueues and a new alloc_workqueue flag in: commit128ea9f6cc("workqueue: Add system_percpu_wq and system_dfl_wq") commit930c2ea566("workqueue: Add new WQ_PERCPU flag") Switch to using system_percpu_wq because system_wq is going away as part of a workqueue restructuring. Suggested-by: Tejun Heo <tj@kernel.org> Signed-off-by: Marco Crivellari <marco.crivellari@suse.com> Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> Link: https://patch.msgid.link/20251119142417.2820519-12-mathias.nyman@linux.intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
e6aec6d9f5
commit
1ebf363fcd
2 changed files with 5 additions and 5 deletions
|
|
@ -374,7 +374,7 @@ int dbc_ep_queue(struct dbc_request *req)
|
|||
ret = dbc_ep_do_queue(req);
|
||||
spin_unlock_irqrestore(&dbc->lock, flags);
|
||||
|
||||
mod_delayed_work(system_wq, &dbc->event_work, 0);
|
||||
mod_delayed_work(system_percpu_wq, &dbc->event_work, 0);
|
||||
|
||||
trace_xhci_dbc_queue_request(req);
|
||||
|
||||
|
|
@ -677,7 +677,7 @@ static int xhci_dbc_start(struct xhci_dbc *dbc)
|
|||
return ret;
|
||||
}
|
||||
|
||||
return mod_delayed_work(system_wq, &dbc->event_work,
|
||||
return mod_delayed_work(system_percpu_wq, &dbc->event_work,
|
||||
msecs_to_jiffies(dbc->poll_interval));
|
||||
}
|
||||
|
||||
|
|
@ -1023,7 +1023,7 @@ static void xhci_dbc_handle_events(struct work_struct *work)
|
|||
return;
|
||||
}
|
||||
|
||||
mod_delayed_work(system_wq, &dbc->event_work,
|
||||
mod_delayed_work(system_percpu_wq, &dbc->event_work,
|
||||
msecs_to_jiffies(poll_interval));
|
||||
}
|
||||
|
||||
|
|
@ -1274,7 +1274,7 @@ static ssize_t dbc_poll_interval_ms_store(struct device *dev,
|
|||
|
||||
dbc->poll_interval = value;
|
||||
|
||||
mod_delayed_work(system_wq, &dbc->event_work, 0);
|
||||
mod_delayed_work(system_percpu_wq, &dbc->event_work, 0);
|
||||
|
||||
return size;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -435,7 +435,7 @@ void xhci_ring_cmd_db(struct xhci_hcd *xhci)
|
|||
|
||||
static bool xhci_mod_cmd_timer(struct xhci_hcd *xhci)
|
||||
{
|
||||
return mod_delayed_work(system_wq, &xhci->cmd_timer,
|
||||
return mod_delayed_work(system_percpu_wq, &xhci->cmd_timer,
|
||||
msecs_to_jiffies(xhci->current_cmd->timeout_ms));
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue