ACPI / thermal: Remove create_workqueue()
authorBhaktipriya Shridhar <bhaktipriya96@gmail.com>
Tue, 7 Jun 2016 03:15:40 +0000 (08:45 +0530)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 22 Jun 2016 00:12:56 +0000 (02:12 +0200)
alloc_workqueue replaces deprecated create_workqueue().

A dedicated workqueue has been used since the workqueue
acpi_thermal_pm_queue with workitem &tz->thermal_check_work
(maps to acpi_thermal_check_fn), is involved in thermal zone polling.
Wallclock time is actually important and getting delayed in handling
critical temperature event can actually lead to unnecessary hardware
damage. So while this is not used during memory reclaim, we still want
forward progress guarantee and be generally snappy in servicing it.
Hence, WQ_MEM_RECLAIM and WQ_HIGHPRI have been used here.

Since there are only a 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: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/thermal.c

index 82707f9824cae1a322411d486b486c48864be611..f4ebe39539afb1cb2d986dd77c3371eeb3fcaf00 100644 (file)
@@ -1259,7 +1259,8 @@ static int __init acpi_thermal_init(void)
                return -ENODEV;
        }
 
-       acpi_thermal_pm_queue = create_workqueue("acpi_thermal_pm");
+       acpi_thermal_pm_queue = alloc_workqueue("acpi_thermal_pm",
+                                               WQ_HIGHPRI | WQ_MEM_RECLAIM, 0);
        if (!acpi_thermal_pm_queue)
                return -ENODEV;