summaryrefslogtreecommitdiffstats
path: root/drivers/thermal/power_allocator.c
diff options
context:
space:
mode:
authorJavi Merino2015-09-14 15:23:54 +0200
committerZhang Rui2015-09-20 09:37:16 +0200
commit97584d1838b7e2545c3b10aacef3327fcaa9531b (patch)
treec32bf60af310ccdf0f4a49d4235e6f49bd2a4512 /drivers/thermal/power_allocator.c
parentthermal: power_allocator: don't require tzp to be present for the thermal zone (diff)
downloadkernel-qcow2-linux-97584d1838b7e2545c3b10aacef3327fcaa9531b.tar.gz
kernel-qcow2-linux-97584d1838b7e2545c3b10aacef3327fcaa9531b.tar.xz
kernel-qcow2-linux-97584d1838b7e2545c3b10aacef3327fcaa9531b.zip
thermal: power_allocator: exit early if there are no cooling devices
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>
Diffstat (limited to 'drivers/thermal/power_allocator.c')
-rw-r--r--drivers/thermal/power_allocator.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/thermal/power_allocator.c b/drivers/thermal/power_allocator.c
index 718363f5be40..7ff96270c933 100644
--- a/drivers/thermal/power_allocator.c
+++ b/drivers/thermal/power_allocator.c
@@ -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