From: Vincent Guittot <vincent.guittot@linaro.org>
To: peterz@infradead.org, mingo@kernel.org,
linux-kernel@vger.kernel.org, yuyang.du@intel.com,
Morten.Rasmussen@arm.com
Cc: linaro-kernel@lists.linaro.org, dietmar.eggemann@arm.com,
pjt@google.com, bsegall@google.com,
Vincent Guittot <vincent.guittot@linaro.org>
Subject: [PATCH 0/7 v3] sched: reflect sched_entity move into task_group's load
Date: Mon, 12 Sep 2016 09:47:45 +0200 [thread overview]
Message-ID: <1473666472-13749-1-git-send-email-vincent.guittot@linaro.org> (raw)
Ensure that the move of a sched_entity will be reflected in load and
utilization of the task_group hierarchy.
When a sched_entity moves between groups or CPUs, load and utilization
of cfs_rq don't reflect the changes immediately but converge to new values.
As a result, the metrics are no more aligned with the new balance of the
load in the system and next decisions will have a biased view.
This patchset synchronizes load/utilization of sched_entity with its child
cfs_rq (se->my-q) only when tasks move to/from child cfs_rq:
-move between task group
-migration between CPUs
Otherwise, PELT is updated as usual.
Changes since v2:
- Propagate both utilization and load
- Synced sched_entity and se->my_q instead of adding the delta
Changes since v1:
- This patch needs the patch that fixes issue with rq->leaf_cfs_rq_list
"sched: fix hierarchical order in rq->leaf_cfs_rq_list" in order to work
correctly. I haven't sent them as a single patchset because the fix is
independent of this one
- Merge some functions that are always used together
- During update of blocked load, ensure that the sched_entity is synced
with the cfs_rq applying changes
- Fix an issue when task changes its cpu affinity
Vincent Guittot (7):
sched: factorize attach entity
sched: fix hierarchical order in rq->leaf_cfs_rq_list
sched: factorize PELT update
sched: propagate load during synchronous attach/detach
sched: propagate asynchrous detach
sched: fix task group initialization
sched: fix wrong utilization accounting when switching to fair class
kernel/sched/core.c | 21 ++--
kernel/sched/fair.c | 319 ++++++++++++++++++++++++++++++++++++++++-----------
kernel/sched/sched.h | 2 +
3 files changed, 264 insertions(+), 78 deletions(-)
--
1.9.1
next reply other threads:[~2016-09-12 7:48 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-12 7:47 Vincent Guittot [this message]
2016-09-12 7:47 ` [PATCH 1/7 v3] sched: factorize attach entity Vincent Guittot
2016-09-12 7:47 ` [PATCH 2/7 v3] sched: fix hierarchical order in rq->leaf_cfs_rq_list Vincent Guittot
2016-09-21 10:14 ` Dietmar Eggemann
2016-09-21 12:34 ` Vincent Guittot
2016-09-21 17:25 ` Dietmar Eggemann
2016-09-21 18:02 ` Vincent Guittot
2016-09-12 7:47 ` [PATCH 3/7 v3] sched: factorize PELT update Vincent Guittot
2016-09-15 13:09 ` Peter Zijlstra
2016-09-15 13:30 ` Vincent Guittot
2016-09-12 7:47 ` [PATCH 4/7 v3] sched: propagate load during synchronous attach/detach Vincent Guittot
2016-09-15 12:55 ` Peter Zijlstra
2016-09-15 13:01 ` Vincent Guittot
2016-09-15 12:59 ` Peter Zijlstra
2016-09-15 13:11 ` Vincent Guittot
2016-09-15 13:11 ` Dietmar Eggemann
2016-09-15 14:31 ` Vincent Guittot
2016-09-15 17:20 ` Dietmar Eggemann
2016-09-15 15:14 ` Peter Zijlstra
2016-09-15 17:36 ` Dietmar Eggemann
2016-09-15 17:54 ` Peter Zijlstra
2016-09-15 14:43 ` Peter Zijlstra
2016-09-15 14:51 ` Vincent Guittot
2016-09-19 3:19 ` Wanpeng Li
2016-09-12 7:47 ` [PATCH 5/7 v3] sched: propagate asynchrous detach Vincent Guittot
2016-09-12 7:47 ` [PATCH 6/7 v3] sched: fix task group initialization Vincent Guittot
2016-09-12 7:47 ` [PATCH 7/7 v3] sched: fix wrong utilization accounting when switching to fair class Vincent Guittot
2016-09-15 13:18 ` Peter Zijlstra
2016-09-15 15:36 ` Vincent Guittot
2016-09-16 12:16 ` Peter Zijlstra
2016-09-16 14:23 ` Vincent Guittot
2016-09-20 11:54 ` Peter Zijlstra
2016-09-20 13:06 ` Vincent Guittot
2016-09-22 12:25 ` Peter Zijlstra
2016-09-26 14:53 ` Peter Zijlstra
2016-09-20 16:59 ` bsegall
2016-09-22 8:33 ` Peter Zijlstra
2016-09-22 17:10 ` bsegall
2016-09-16 10:51 ` Peter Zijlstra
2016-09-16 12:45 ` Vincent Guittot
2016-09-30 12:01 ` [tip:sched/core] sched/core: Fix incorrect " tip-bot for Vincent Guittot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1473666472-13749-1-git-send-email-vincent.guittot@linaro.org \
--to=vincent.guittot@linaro.org \
--cc=Morten.Rasmussen@arm.com \
--cc=bsegall@google.com \
--cc=dietmar.eggemann@arm.com \
--cc=linaro-kernel@lists.linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=pjt@google.com \
--cc=yuyang.du@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.