Messages in this thread | | | From | benbjiang(蒋彪) <> | Subject | Re: [PATCH] sched/fair: Optimize dequeue_task_fair()(Internet mail) | Date | Tue, 11 Aug 2020 23:18:21 +0000 |
| |
Hi,
> On Aug 12, 2020, at 12:55 AM, Dietmar Eggemann <dietmar.eggemann@arm.com> wrote: > > 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) Indeed, my local repo has been outdated, sorry for the interruption. :)
Thx. Regards, Jiang
| |