@@ -5841,8 +5841,8 @@ static inline void schedule_debug(struct task_struct *prev, bool preempt)
5841
5841
schedstat_inc (this_rq ()-> sched_count );
5842
5842
}
5843
5843
5844
- static void put_prev_task_balance (struct rq * rq , struct task_struct * prev ,
5845
- struct rq_flags * rf )
5844
+ static void prev_balance (struct rq * rq , struct task_struct * prev ,
5845
+ struct rq_flags * rf )
5846
5846
{
5847
5847
#ifdef CONFIG_SMP
5848
5848
const struct sched_class * class ;
@@ -5860,8 +5860,6 @@ static void put_prev_task_balance(struct rq *rq, struct task_struct *prev,
5860
5860
}
5861
5861
#endif
5862
5862
5863
- put_prev_task (rq , prev );
5864
-
5865
5863
/*
5866
5864
* We've updated @prev and no longer need the server link, clear it.
5867
5865
* Must be done before ->pick_next_task() because that can (re)set
@@ -5917,7 +5915,8 @@ __pick_next_task(struct rq *rq, struct task_struct *prev, struct rq_flags *rf)
5917
5915
}
5918
5916
5919
5917
restart :
5920
- put_prev_task_balance (rq , prev , rf );
5918
+ prev_balance (rq , prev , rf );
5919
+ put_prev_task (rq , prev );
5921
5920
5922
5921
for_each_class (class ) {
5923
5922
p = class -> pick_next_task (rq );
@@ -6017,7 +6016,8 @@ pick_next_task(struct rq *rq, struct task_struct *prev, struct rq_flags *rf)
6017
6016
goto out ;
6018
6017
}
6019
6018
6020
- put_prev_task_balance (rq , prev , rf );
6019
+ prev_balance (rq , prev , rf );
6020
+ put_prev_task (rq , prev );
6021
6021
6022
6022
smt_mask = cpu_smt_mask (cpu );
6023
6023
need_sync = !!rq -> core -> core_cookie ;
0 commit comments