| From 81526af9752009884e4a67e90d2a357399473573 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 2 May 2019 11:32:38 -0700 |
| Subject: thermal: cpu_cooling: Actually trace CPU load in |
| thermal_power_cpu_get_power |
| |
| From: Matthias Kaehlcke <mka@chromium.org> |
| |
| [ Upstream commit bf45ac18b78038e43af3c1a273cae4ab5704d2ce ] |
| |
| The CPU load values passed to the thermal_power_cpu_get_power |
| tracepoint are zero for all CPUs, unless, unless the |
| thermal_power_cpu_limit tracepoint is enabled too: |
| |
| irq/41-rockchip-98 [000] .... 290.972410: thermal_power_cpu_get_power: |
| cpus=0000000f freq=1800000 load={{0x0,0x0,0x0,0x0}} dynamic_power=4815 |
| |
| vs |
| |
| irq/41-rockchip-96 [000] .... 95.773585: thermal_power_cpu_get_power: |
| cpus=0000000f freq=1800000 load={{0x56,0x64,0x64,0x5e}} dynamic_power=4959 |
| irq/41-rockchip-96 [000] .... 95.773596: thermal_power_cpu_limit: |
| cpus=0000000f freq=408000 cdev_state=10 power=416 |
| |
| There seems to be no good reason for omitting the CPU load information |
| depending on another tracepoint. My guess is that the intention was to |
| check whether thermal_power_cpu_get_power is (still) enabled, however |
| 'load_cpu != NULL' already indicates that it was at least enabled when |
| cpufreq_get_requested_power() was entered, there seems little gain |
| from omitting the assignment if the tracepoint was just disabled, so |
| just remove the check. |
| |
| Fixes: 6828a4711f99 ("thermal: add trace events to the power allocator governor") |
| Signed-off-by: Matthias Kaehlcke <mka@chromium.org> |
| Reviewed-by: Daniel Lezcano <daniel.lezcano@linaro.org> |
| Acked-by: Javi Merino <javi.merino@kernel.org> |
| Acked-by: Viresh Kumar <viresh.kumar@linaro.org> |
| Signed-off-by: Eduardo Valentin <edubezval@gmail.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/thermal/cpu_cooling.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/thermal/cpu_cooling.c b/drivers/thermal/cpu_cooling.c |
| index f49d2989d0005..984e5f5141403 100644 |
| --- a/drivers/thermal/cpu_cooling.c |
| +++ b/drivers/thermal/cpu_cooling.c |
| @@ -607,7 +607,7 @@ static int cpufreq_get_requested_power(struct thermal_cooling_device *cdev, |
| load = 0; |
| |
| total_load += load; |
| - if (trace_thermal_power_cpu_limit_enabled() && load_cpu) |
| + if (load_cpu) |
| load_cpu[i] = load; |
| |
| i++; |
| -- |
| 2.20.1 |
| |