Messages in this thread | | | Subject | Re: [PATCH] sched/fair: Optimize dequeue_task_fair() | From | Dietmar Eggemann <> | Date | Tue, 11 Aug 2020 18:55:05 +0200 |
| |
On 11/08/2020 10:43, Jiang Biao wrote: > Similar optimization as what has been done in commit, > 7d148be69e3a(sched/fair: Optimize enqueue_task_fair()) > > dequeue_task_fair jumps to dequeue_throttle label when cfs_rq_of(se) is > throttled which means that se can't be NULL. We can move the label after > the if (!se) statement and remove the if(!se) statment as se is always > NULL when reaching this point. > > Besides, trying to keep the same pattern with enqueue_task_fair can make > it more readable. > > Signed-off-by: Jiang Biao <benbjiang@tencent.com> > --- > kernel/sched/fair.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c > index 04fa8dbcfa4d..cbbeafdfa8b7 100644 > --- a/kernel/sched/fair.c > +++ b/kernel/sched/fair.c > @@ -5618,10 +5618,10 @@ static void dequeue_task_fair(struct rq *rq, struct task_struct *p, int flags) > > } > > -dequeue_throttle: > - if (!se) > - sub_nr_running(rq, 1); > + /* At this point se is NULL and we are at root level*/ > + sub_nr_running(rq, 1); > > +dequeue_throttle: > /* balance early to pull high priority tasks */ > if (unlikely(!was_sched_idle && sched_idle_rq(rq))) > rq->next_balance = jiffies;
There is already a similar patch in master.
423d02e1463b - sched/fair: Optimize dequeue_task_fair() (2020-06-25 Peng Wang)
| |