thermal: power_allocator: exit early if there are no cooling devices
authorJavi Merino <javi.merino@arm.com>
Mon, 14 Sep 2015 13:23:54 +0000 (14:23 +0100)
committerZhang Rui <rui.zhang@intel.com>
Sun, 20 Sep 2015 07:37:16 +0000 (15:37 +0800)
Don't waste cycles in the power allocator governor's throttle function
if there are no cooling devices and exit early.

This commit doesn't change any functionality, but should provide better
performance for the odd case of a thermal zone with trip points but
without cooling devices.

Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Eduardo Valentin <edubezval@gmail.com>
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Signed-off-by: Javi Merino <javi.merino@arm.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
drivers/thermal/power_allocator.c

index 718363f5be400aac71ce5f119ebd29834ac1c774..7ff96270c933b1ad577ee3dbb9cedf92d8f07a89 100644 (file)
@@ -346,6 +346,11 @@ static int allocate_power(struct thermal_zone_device *tz,
                }
        }
 
+       if (!num_actors) {
+               ret = -ENODEV;
+               goto unlock;
+       }
+
        /*
         * We need to allocate five arrays of the same size:
         * req_power, max_power, granted_power, extra_actor_power and