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 718363f..7ff9627 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