sched/idle: Enter wfi state instead of polling during active migration

WFI's wakeup latency is low enough, use that instead of polling and
burning power.

Change-Id: Iee1c1cdf515224267925037a859c6a74fc61abb7
Signed-off-by: Kazuki H <kazukih0205@gmail.com>
Signed-off-by: Alexander Winkowski <dereference23@outlook.com>
This commit is contained in:
Kazuki H
2023-09-23 18:39:13 +09:00
committed by Samuel Pascua
parent 5b33eef4f9
commit 00a256b532

View File

@@ -52,6 +52,7 @@
#elif defined(CONFIG_COMMON_CLK_MSM)
#include "../../drivers/clk/msm/clock.h"
#endif /* CONFIG_COMMON_CLK */
#include "../../kernel/sched/sched.h"
#define CREATE_TRACE_POINTS
#include <trace/events/trace_msm_low_power.h>
@@ -723,7 +724,8 @@ static int cpu_power_select(struct cpuidle_device *dev,
struct power_params *pwr_params;
uint64_t bias_time = 0;
if ((sleep_disabled && !cpu_isolated(dev->cpu)) || sleep_us < 0)
if ((sleep_disabled && !cpu_isolated(dev->cpu)) ||
is_reserved(dev->cpu) || sleep_us < 0)
return best_level;
idx_restrict = cpu->nlevels + 1;