thermal: power_allocator: exit early if there are no cooling devices
authorJavi Merino <[email protected]>
Mon, 14 Sep 2015 13:23:54 +0000 (14:23 +0100)
committerZhang Rui <[email protected]>
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 <[email protected]>
Cc: Eduardo Valentin <[email protected]>
Reviewed-by: Daniel Kurtz <[email protected]>
Signed-off-by: Javi Merino <[email protected]>
Signed-off-by: Eduardo Valentin <[email protected]>
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