[RFC 3/4] sched/idle: Disable idle call on least latency requirements

From: Parth Shah
Date: Thu May 07 2020 - 09:38:01 EST


Restrict the call to deeper idle states when the given CPU has been set for
the least latency requirements

Signed-off-by: Parth Shah <parth@xxxxxxxxxxxxx>
---
kernel/sched/idle.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/kernel/sched/idle.c b/kernel/sched/idle.c
index b743bf38f08f..85d72a6e2521 100644
--- a/kernel/sched/idle.c
+++ b/kernel/sched/idle.c
@@ -262,7 +262,8 @@ static void do_idle(void)
* broadcast device expired for us, we don't want to go deep
* idle as we know that the IPI is going to arrive right away.
*/
- if (cpu_idle_force_poll || tick_check_broadcast_expired()) {
+ if (cpu_idle_force_poll || tick_check_broadcast_expired() ||
+ per_cpu(nr_lat_sensitive, cpu)) {
tick_nohz_idle_restart_tick();
cpu_idle_poll();
} else {
--
2.17.2