All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] sched/core: Fix reset-on-fork from RT with uclamp
@ 2020-04-16  8:59 Quentin Perret
  2020-04-16 11:03 ` Dietmar Eggemann
  2020-04-22 21:20 ` [tip: sched/urgent] " tip-bot2 for Quentin Perret
  0 siblings, 2 replies; 4+ messages in thread
From: Quentin Perret @ 2020-04-16  8:59 UTC (permalink / raw)
  To: mingo, peterz, juri.lelli, vincent.guittot
  Cc: dietmar.eggemann, rostedt, bsegall, mgorman, ctheegal, dianders,
	patrick.bellasi, valentin.schneider, qais.yousef, linux-kernel,
	qperret, kernel-team

uclamp_fork() resets the uclamp values to their default when the
reset-on-fork flag is set. It also checks whether the task has a RT
policy, and sets its uclamp.min to 1024 accordingly. However, during
reset-on-fork, the task's policy is lowered to SCHED_NORMAL right after,
hence leading to an erroneous uclamp.min setting for the new task if it
was forked from RT.

Fix this by removing the unnecessary check on rt_task() in
uclamp_fork() as this doesn't make sense if the reset-on-fork flag is
set.

Fixes: 1a00d999971c ("sched/uclamp: Set default clamps for RT tasks")
Reported-by: Chitti Babu Theegala <ctheegal@codeaurora.org>
Reviewed-by: Patrick Bellasi <patrick.bellasi@matbug.net>
Signed-off-by: Quentin Perret <qperret@google.com>
---
Changes in v2:
 - Added missing 'Fixes:' tag (Patrick)
 - Removed unnecessary local variable (Doug, Patrick)
---
 kernel/sched/core.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 3a61a3b8eaa9..9a2fbf98fd6f 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -1232,13 +1232,8 @@ static void uclamp_fork(struct task_struct *p)
 		return;
 
 	for_each_clamp_id(clamp_id) {
-		unsigned int clamp_value = uclamp_none(clamp_id);
-
-		/* By default, RT tasks always get 100% boost */
-		if (unlikely(rt_task(p) && clamp_id == UCLAMP_MIN))
-			clamp_value = uclamp_none(UCLAMP_MAX);
-
-		uclamp_se_set(&p->uclamp_req[clamp_id], clamp_value, false);
+		uclamp_se_set(&p->uclamp_req[clamp_id],
+			      uclamp_none(clamp_id), false);
 	}
 }
 
-- 
2.26.1.301.g55bc3eb7cb9-goog


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-04-22 21:20 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-16  8:59 [PATCH v2] sched/core: Fix reset-on-fork from RT with uclamp Quentin Perret
2020-04-16 11:03 ` Dietmar Eggemann
2020-04-16 11:41   ` Peter Zijlstra
2020-04-22 21:20 ` [tip: sched/urgent] " tip-bot2 for Quentin Perret

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.