ACPI / processor: Rework processor throttling with work_on_cpu()
commit f3ca4164 upstream. acpi_processor_set_throttling() uses set_cpus_allowed_ptr() to make sure that the (struct acpi_processor)->acpi_processor_set_throttling() callback will run on the right CPU. However, the function may be called from a worker thread already bound to a different CPU in which case that won't work. Make acpi_processor_set_throttling() use work_on_cpu() as appropriate instead of abusing set_cpus_allowed_ptr(). Reported-and-tested-by:Jiri Olsa <jolsa@redhat.com> Signed-off-by:
Lan Tianyu <tianyu.lan@intel.com> [rjw: Changelog] Signed-off-by:
Rafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by:
Ben Hutchings <ben@decadent.org.uk>
Showing
Please register or sign in to comment