Messages in this thread Patch in this message | | | From | Qais Yousef <> | Subject | [PATCH] sched/uclamp: Fix rq->uclamp_max not set on first enqueue | Date | Thu, 25 Nov 2021 16:52:33 +0000 |
| |
Commit d81ae8aac85c ("sched/uclamp: Fix initialization of struct uclamp_rq") introduced a bug where uclamp_max of the rq is not reset to match the woken up task's uclamp_max when the rq is idle. This only impacts the first wake up after enabling the static key. And it only matters if the uclamp_max of this task is < 1024 since only then its uclamp_max will be effectively ignored.
Fix it by properly initializing rq->uclamp_flags = UCLAMP_FLAG_IDLE to ensure we reset rq uclamp_max when waking up from idle.
Fixes: d81ae8aac85c ("sched/uclamp: Fix initialization of struct uclamp_rq") Signed-off-by: Qais Yousef <qais.yousef@arm.com> --- kernel/sched/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index beaa8be6241e..52b0c7513a32 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1929,7 +1929,7 @@ static void __init init_uclamp_rq(struct rq *rq) }; } - rq->uclamp_flags = 0; + rq->uclamp_flags = UCLAMP_FLAG_IDLE; } static void __init init_uclamp(void) -- 2.25.1
| |