From: Jason Low <jason.low2@hp.com>
To: mingo@redhat.com, peterz@infradead.org, jason.low2@hp.com
Cc: linux-kernel@vger.kernel.org, efault@gmx.de, pjt@google.com,
preeti@linux.vnet.ibm.com, akpm@linux-foundation.org,
mgorman@suse.de, riel@redhat.com, aswin@hp.com,
scott.norton@hp.com, srikar@linux.vnet.ibm.com,
chegu_vinod@hp.com
Subject: [PATCH v5 0/3] sched: Limiting idle balance
Date: Fri, 13 Sep 2013 11:26:50 -0700 [thread overview]
Message-ID: <1379096813-3032-1-git-send-email-jason.low2@hp.com> (raw)
v4->v5
- We don't use the this_rq->avg_idle < this_rq->max_idle_balance_cost check.
However, we kept the old rq->avg_idle < sysctl_sched_migration_cost since
I saw some performance benefits with it.
- Substitute smp_processor_id() with this_cpu.
- Increase the decay to 1% per second.
These patches modify and add to the way we limit idle balancing. The first
patch reduces the chance we overestimate the avg_idle guestimator. The second
patch makes idle balance compare the avg_idle with the max cost we ever spend
on a new idle load balance per sched domain to limit idle balance. The third
patch periodically decays each domain's max newidle balance costs.
These changes further reduce the chance we attempt idle balancing when the time
a CPU remains idle is short and is not more than the cost to do the balancing.
The table below compares the average jobs per minute when running AIM7 on
an 8 socket (80 core) machine at 10-100, 200-1000, and 1100-2000 users between
the vanilla 3.11 tip kernel and the 3.11 tip kernel with Hyperthreading enabled.
Out of the AIM7 workloads, fserver benefited most with this change.
Note: The gains weren't as large as with the v4 patch due to not having
the if (this_rq->avg_idle < this_rq->max_idle_balance_cost) check.
----------------------------------------------------------------
workload | % improvement | % improvement | % improvement
| with patch | with patch | with patch
| 1100-2000 users | 200-1000 users | 10-100 users
----------------------------------------------------------------
alltests | +2.5% | +2.7% | +0.0%
----------------------------------------------------------------
compute | +0.2% | -0.3% | -0.5%
----------------------------------------------------------------
custom | +4.7% | +1.7% | +3.5%
----------------------------------------------------------------
disk | +3.0% | +1.9% | +4.8%
----------------------------------------------------------------
fserver | +27.0% | +7.7% | +2.2%
----------------------------------------------------------------
high_systime | +4.1% | +3.0% | +0.2%
----------------------------------------------------------------
new_fserver | +23.1% | +5.1% | +0.0%
----------------------------------------------------------------
shared | +3.0% | +4.5% | +1.4%
----------------------------------------------------------------
Jason Low (3):
sched: Reduce overestimating rq->avg_idle
sched: Consider max cost of idle balance per sched domain
sched: Periodically decay max cost of idle balance
arch/metag/include/asm/topology.h | 2 +
include/linux/sched.h | 4 +++
include/linux/topology.h | 6 ++++
kernel/sched/core.c | 10 ++++---
kernel/sched/fair.c | 54 ++++++++++++++++++++++++++++++++-----
kernel/sched/sched.h | 3 ++
6 files changed, 68 insertions(+), 11 deletions(-)
next reply other threads:[~2013-09-13 18:26 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-13 18:26 Jason Low [this message]
2013-09-13 18:26 ` [PATCH v5 1/3] sched: Reduce overestimating rq->avg_idle Jason Low
2013-09-20 13:47 ` [tip:sched/core] " tip-bot for Jason Low
2013-09-13 18:26 ` [PATCH v5 2/3] sched: Consider max cost of idle balance per sched domain Jason Low
2013-09-20 13:47 ` [tip:sched/core] sched/balancing: " tip-bot for Jason Low
2013-09-13 18:26 ` [PATCH v5 3/3] sched: Periodically decay max cost of idle balance Jason Low
2013-09-20 13:47 ` [tip:sched/core] sched/balancing: " tip-bot for Jason Low
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=1379096813-3032-1-git-send-email-jason.low2@hp.com \
--to=jason.low2@hp.com \
--cc=akpm@linux-foundation.org \
--cc=aswin@hp.com \
--cc=chegu_vinod@hp.com \
--cc=efault@gmx.de \
--cc=linux-kernel@vger.kernel.org \
--cc=mgorman@suse.de \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=pjt@google.com \
--cc=preeti@linux.vnet.ibm.com \
--cc=riel@redhat.com \
--cc=scott.norton@hp.com \
--cc=srikar@linux.vnet.ibm.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
all inboxes | Powered by JetHome®