aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/sched/fair.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 235cfa7ad8fc..280da893cd0f 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -7317,7 +7317,15 @@ static void switched_from_fair(struct rq *rq, struct task_struct *p)
7317 */ 7317 */
7318static void switched_to_fair(struct rq *rq, struct task_struct *p) 7318static void switched_to_fair(struct rq *rq, struct task_struct *p)
7319{ 7319{
7320 if (!p->se.on_rq) 7320 struct sched_entity *se = &p->se;
7321#ifdef CONFIG_FAIR_GROUP_SCHED
7322 /*
7323 * Since the real-depth could have been changed (only FAIR
7324 * class maintain depth value), reset depth properly.
7325 */
7326 se->depth = se->parent ? se->parent->depth + 1 : 0;
7327#endif
7328 if (!se->on_rq)
7321 return; 7329 return;
7322 7330
7323 /* 7331 /*