Re: [PATCH 09/15] sched,fair: refactor enqueue/dequeue_entity
From: Rik van Riel
Date: Tue Sep 03 2019 - 16:27:59 EST
On Tue, 2019-09-03 at 17:38 +0200, Vincent Guittot wrote:
> Hi Rik,
>
> On Thu, 22 Aug 2019 at 04:18, Rik van Riel <riel@xxxxxxxxxxx> wrote:
> > Refactor enqueue_entity, dequeue_entity, and update_load_avg, in
> > order
> > to split out the things we still want to happen at every level in
> > the
> > cgroup hierarchy with a flat runqueue from the things we only need
> > to
> > happen once.
> >
> > No functional changes.
> >
> > Signed-off-by: Rik van Riel <riel@xxxxxxxxxxx>
> > ---
> > kernel/sched/fair.c | 64 +++++++++++++++++++++++++++++----------
> > ------
> > 1 file changed, 42 insertions(+), 22 deletions(-)
> >
> > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> > index 74ee22c59d13..7b0d95f2e3a8 100644
> > --- a/kernel/sched/fair.c
> > +++ b/kernel/sched/fair.c
> > @@ -3502,7 +3502,7 @@ static void detach_entity_load_avg(struct
> > cfs_rq *cfs_rq, struct sched_entity *s
> > #define DO_ATTACH 0x4
> >
> > /* Update task and its cfs_rq load average */
> > -static inline void update_load_avg(struct cfs_rq *cfs_rq, struct
> > sched_entity *se, int flags)
> > +static inline bool update_load_avg(struct cfs_rq *cfs_rq, struct
> > sched_entity *se, int flags)
> > {
> > u64 now = cfs_rq_clock_pelt(cfs_rq);
> > int decayed;
> > @@ -3531,6 +3531,8 @@ static inline void update_load_avg(struct
> > cfs_rq *cfs_rq, struct sched_entity *s
> >
> > } else if (decayed && (flags & UPDATE_TG))
> > update_tg_load_avg(cfs_rq, 0);
> > +
> > + return decayed;
>
> This is a functional change, isn't it ?
> update_cfs_group is now called only if decayed but we can we attach a
> task during the enqueue and there is no decay
Yes, it is, and patch 11 changes the way this functional
change is done.
If you want, I can change this patch to not have the
functional change, though in the end it should not make
any difference.
--
All Rights Reversed.
Attachment:
signature.asc
Description: This is a digitally signed message part