[RFC PATCH 0/2] Disable RT-throttling for idle-inject threads

From: Atul Pant
Date: Wed Apr 10 2024 - 00:55:31 EST


We are trying to implement a solution for thermal mitigation by using
idle injection on CPUs. However we face some limitations with the
current idle-inject framework. As per our need, we want to start
injecting idle cycles on a cpu for indefinite time (until the
temperature/power of the CPU falls below a threshold). This will allow
to keep the hot CPUs in the sleep state until we see improvement in
temperature/power. If we set idle duration to a large value or have an
idle-injection ratio of 100%, then the idle-inject RT thread suffers
from RT throttling. This results in the CPU exiting from the sleep state
and consume some power.

To solve this limitation, we propose a solution to disable RT-throttling
whenever idle-inject threads run. We achieve this by not accounting the
runtime for the idle-inject threads.

Atul Pant (2):
sched/rt: Disable runtime accounting for idle threads with SCHED_FIFO
policy
sched/idle: Add a description for play_idle_precise

kernel/sched/idle.c | 5 +++++
kernel/sched/rt.c | 4 +++-
2 files changed, 8 insertions(+), 1 deletion(-)

--
2.25.1