From: Nikhil Rao <ncrao@google.com>
To: Ingo Molnar <mingo@elte.hu>,
Peter Zijlstra <peterz@infradead.org>,
Mike Galbraith <efault@gmx.de>
Cc: Venkatesh Pallipadi <venki@google.com>,
linux-kernel@vger.kernel.org, Nikhil Rao <ncrao@google.com>
Subject: [PATCH 0/3][RFC] Improve load balancing when tasks have large weight differential
Date: Mon, 27 Sep 2010 17:29:55 -0700 [thread overview]
Message-ID: <1285633798-26886-1-git-send-email-ncrao@google.com> (raw)
Hi all,
I have attached a series of patches that improve load balancing when there is a
large weight differential between tasks. These patches are based off the
feedback Peter Zijlstra gave in an earlier post (see http://thread.gmane.org/gmane.linux.kernel/1015966).
They can be applied to v2.6.36-rc5 or -tip without conflicts.
Tested with the following setup.
- Test machine is a 16 cpu box (quad-socket, quad-core).
- Baseline is v2.6.36-rc5 kernel
We spawn 16 SCHED_IDLE soaker threads and one SCHED_NORMAL task. On the
baseline kernel, the machine has ~18% idle time. With these patches applied on
top of baseline, idle time drops to 0%.
v2.6.36-rc5
04:58:46 PM CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s
04:58:47 PM all 81.47 0.00 0.25 0.00 0.00 0.00 0.00 18.28 13796.00
04:58:48 PM all 81.20 0.00 0.25 0.00 0.00 0.00 0.00 18.55 13816.00
04:58:49 PM all 80.93 0.19 0.25 0.00 0.00 0.06 0.00 18.57 13965.00
04:58:50 PM all 81.40 0.00 0.25 0.00 0.00 0.00 0.00 18.35 13837.37
04:58:51 PM all 81.19 0.00 0.31 0.00 0.00 0.00 0.00 18.50 13592.08
04:58:52 PM all 81.25 0.00 0.25 0.00 0.00 0.00 0.00 18.50 13721.00
04:58:53 PM all 81.19 0.00 0.25 0.00 0.00 0.00 0.00 18.56 13764.00
04:58:54 PM all 81.25 0.00 0.25 0.00 0.00 0.00 0.00 18.50 13841.41
04:58:55 PM all 80.30 0.00 1.19 0.00 0.00 0.00 0.00 18.51 14989.11
04:58:56 PM all 80.77 0.00 0.50 0.00 0.00 0.00 0.00 18.73 13964.65
Average: all 81.09 0.02 0.37 0.00 0.00 0.01 0.00 18.51 13929.53
v2.6.36-rc5 + patches
05:00:06 PM CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s
05:00:07 PM all 99.94 0.00 0.06 0.00 0.00 0.00 0.00 0.00 16364.00
05:00:08 PM all 99.81 0.06 0.12 0.00 0.00 0.00 0.00 0.00 16348.00
05:00:09 PM all 99.94 0.00 0.06 0.00 0.00 0.00 0.00 0.00 16330.00
05:00:10 PM all 99.94 0.00 0.06 0.00 0.00 0.00 0.00 0.00 16317.00
05:00:11 PM all 99.88 0.06 0.06 0.00 0.00 0.00 0.00 0.00 16327.00
05:00:12 PM all 99.94 0.00 0.06 0.00 0.00 0.00 0.00 0.00 16323.00
05:00:13 PM all 99.88 0.00 0.12 0.00 0.00 0.00 0.00 0.00 16323.00
05:00:14 PM all 99.94 0.00 0.06 0.00 0.00 0.00 0.00 0.00 16321.00
05:00:15 PM all 99.63 0.06 0.25 0.00 0.00 0.06 0.00 0.00 16354.00
05:00:16 PM all 99.62 0.00 0.38 0.00 0.00 0.00 0.00 0.00 19059.60
Average: all 99.85 0.02 0.13 0.00 0.00 0.01 0.00 0.00 16604.20
Comments, feedback welcome.
-Thanks,
Nikhil
Nikhil Rao (3):
sched: set group_imb only a task can be pulled from the busiest cpu
sched: drop group_capacity to 1 only if remote group has no running
tasks
sched: do not consider SCHED_IDLE tasks to be cache hot
kernel/sched.c | 3 +++
kernel/sched_fair.c | 12 ++++++++----
2 files changed, 11 insertions(+), 4 deletions(-)
next reply other threads:[~2010-09-28 0:30 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-28 0:29 Nikhil Rao [this message]
2010-09-28 0:29 ` [PATCH 1/3] sched: set group_imb only a task can be pulled from the busiest cpu Nikhil Rao
2010-09-28 0:29 ` [PATCH 2/3] sched: drop group_capacity to 1 only if remote group has no running tasks Nikhil Rao
2010-09-28 23:04 ` Suresh Siddha
2010-10-11 21:20 ` Nikhil Rao
2010-09-28 0:29 ` [PATCH 3/3] sched: do not consider SCHED_IDLE tasks to be cache hot Nikhil Rao
2010-09-28 13:57 ` [PATCH 0/3][RFC] Improve load balancing when tasks have large weight differential Mike Galbraith
2010-09-28 21:15 ` Nikhil Rao
2010-09-29 1:45 ` Mike Galbraith
2010-09-29 19:32 ` Nikhil Rao
2010-10-04 3:08 ` Mike Galbraith
2010-10-06 8:23 ` Nikhil Rao
2010-10-08 7:22 ` Mike Galbraith
2010-10-08 20:34 ` Nikhil Rao
2010-10-10 10:15 ` Mike Galbraith
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=1285633798-26886-1-git-send-email-ncrao@google.com \
--to=ncrao@google.com \
--cc=efault@gmx.de \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=peterz@infradead.org \
--cc=venki@google.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.