From: Vincent Guittot <vincent.guittot@linaro.org>
To: mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com,
dietmar.eggemann@arm.com, rostedt@goodmis.org,
bsegall@google.com, mgorman@suse.de, bristot@redhat.com,
linux-kernel@vger.kernel.org, tim.c.chen@linux.intel.com
Cc: Vincent Guittot <vincent.guittot@linaro.org>
Subject: [PATCH v2 0/4] Improve newidle lb cost tracking and early abort
Date: Fri, 15 Oct 2021 14:46:50 +0200 [thread overview]
Message-ID: <20211015124654.18093-1-vincent.guittot@linaro.org> (raw)
This patchset updates newidle lb cost tracking and early abort:
The time spent running update_blocked_averages is now accounted in the 1st
sched_domain level. This time can be significant and move the cost of
newidle lb above the avg_idle time.
The decay of max_newidle_lb_cost is modified to start only when the field
has not been updated for a while. Recent update will not be decayed
immediatlybut only after a while.
The condition of an avg_idle lower than sysctl_sched_migration_cost has
been removed as the 500us value is quite large and prevent opportunity to
pull task on the newly idle CPU for at least 1st domain levels.
Monitoring sd->max_newidle_lb_cost on cpu0 of a Arm64 system
THX2 (2 nodes * 28 cores * 4 cpus) during the benchmarks gives the
following results:
min avg max
SMT: 1us 33us 273us - this one includes the update of blocked load
MC: 7us 49us 398us
NUMA: 10us 45us 158us
Some results for hackbench -l $LOOPS -g $group :
group tip/sched/core + this patchset
1 15.189(+/- 2%) 14.987(+/- 2%) +1%
4 4.336(+/- 3%) 4.322(+/- 5%) +0%
16 3.654(+/- 1%) 2.922(+/- 3%) +20%
32 3.209(+/- 1%) 2.919(+/- 3%) +9%
64 2.965(+/- 1%) 2.826(+/- 1%) +4%
128 2.954(+/- 1%) 2.993(+/- 8%) -1%
256 2.951(+/- 1%) 2.894(+/- 1%) +2%
tbench and reaim have not shown any difference
Change since v1:
- account the time spent in update_blocked_averages() in the 1st domain
- reduce number of call of sched_clock_cpu()
- change the way max_newidle_lb_cost is decayed. Peter suggested to use a
IIR but keeping a track of the current max value gave the best result
- removed the condition (this_rq->avg_idle < sysctl_sched_migration_cost)
as suggested by Peter
Vincent Guittot (4):
sched/fair: Account update_blocked_averages in newidle_balance cost
sched/fair: Skip update_blocked_averages if we are defering load
balance
sched/fair: Wait before decaying max_newidle_lb_cost
sched/fair: Remove sysctl_sched_migration_cost condition
include/linux/sched/topology.h | 2 +-
kernel/sched/fair.c | 29 ++++++++++++++++++-----------
kernel/sched/topology.c | 2 +-
3 files changed, 20 insertions(+), 13 deletions(-)
--
2.17.1
next reply other threads:[~2021-10-15 12:50 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-15 12:46 Vincent Guittot [this message]
2021-10-15 12:46 ` [PATCH v2 1/4] sched/fair: Account update_blocked_averages in newidle_balance cost Vincent Guittot
2021-10-15 12:46 ` [PATCH v2 2/4] sched/fair: Skip update_blocked_averages if we are defering load balance Vincent Guittot
2021-10-15 12:46 ` [PATCH v2 3/4] sched/fair: Wait before decaying max_newidle_lb_cost Vincent Guittot
2021-10-15 17:40 ` Peter Zijlstra
2021-10-15 18:02 ` Vincent Guittot
2021-10-15 18:29 ` Peter Zijlstra
2021-10-15 12:46 ` [PATCH v2 4/4] sched/fair: Remove sysctl_sched_migration_cost condition Vincent Guittot
2021-10-15 17:42 ` Peter Zijlstra
2021-10-15 17:57 ` 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=20211015124654.18093-1-vincent.guittot@linaro.org \
--to=vincent.guittot@linaro.org \
--cc=bristot@redhat.com \
--cc=bsegall@google.com \
--cc=dietmar.eggemann@arm.com \
--cc=juri.lelli@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mgorman@suse.de \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=tim.c.chen@linux.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).