Message ID | 20191211111241.25000-1-hdanton@sina.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | workqueue: fix selecting cpu for queuing work and cleanup | expand |
--- c/kernel/workqueue.c +++ d/kernel/workqueue.c @@ -1415,11 +1415,11 @@ retry: /* pwq which will be used unless @work is executing elsewhere */ if (wq->flags & WQ_UNBOUND) { if (req_cpu == WORK_CPU_UNBOUND) - cpu = wq_select_unbound_cpu(raw_smp_processor_id()); + cpu = wq_select_unbound_cpu(smp_processor_id()); pwq = unbound_pwq_by_node(wq, cpu_to_node(cpu)); } else { if (req_cpu == WORK_CPU_UNBOUND) - cpu = raw_smp_processor_id(); + cpu = smp_processor_id(); pwq = per_cpu_ptr(wq->cpu_pwqs, cpu); }
Use the regular version with irq disabled. Signed-off-by: Hillf Danton <hdanton@sina.com> ---