From: Srivatsa Vaddagiri <vatsa@in.ibm.com>
To: Ingo Molnar <mingo@elte.hu>, Nick Piggin <nickpiggin@yahoo.com.au>
Cc: linux-kernel@vger.kernel.org, Kirill Korotaev <dev@openvz.org>,
Mike Galbraith <efault@gmx.de>, Balbir Singh <balbir@in.ibm.com>,
sekharan@us.ibm.com, Andrew Morton <akpm@osdl.org>,
nagar@watson.ibm.com, matthltc@us.ibm.com, dipankar@in.ibm.com,
ckrm-tech@lists.sourceforge.net
Subject: [RFC, PATCH 0/9] CPU Controller V2
Date: Thu, 28 Sep 2006 22:55:20 +0530 [thread overview]
Message-ID: <20060928172520.GA8746@in.ibm.com> (raw)
Here's V2 of the token-based CPU controller I have been working on.
Changes since last version (posted at http://lkml.org/lkml/2006/8/20/115):
- Task load was not changed when it moved between task-groups of
different quota (bug hit by Mike Galbraith).
- SMP load balance seems to work -much- better now wrt its awaress
of quota on each task-group. The trick was to go beyond the
max_load difference in __move_tasks and instead use the load
difference between two task-groups on the different cpus as
basis of pulling tasks.
- Better timeslice management, aimed at handling bursty
workloads better. Patch 3/9 has documentation on timeslice
management for various task-groups.
- Modified cpuset interface as per Paul Jackson's suggestions.
Some of the changes are:
- s/meter_cpu/cpu_meter_enabled
- s/cpu_quota/cpu_meter_quota
- s/FILE_METER_FLAG/FILE_CPU_METER_ENABLED
- s/FILE_METER_QUOTA/FILE_CPU_METER_QUOTA
- Dont allow cpu_meter_enabled to be turned on for an
"in-use" cpuset (which has tasks attached to it)
- Dont allow cpu_meter_quota to be changed for an
"in-use" cpuset (which has tasks attached to it)
Last two are temporary limitations until we figure out how
to get to a cpuset's task-list more easily.
Still on my todo list:
- Improved surplus cycles management. If A, B and C groups have
been given 50%, 30% and 20% quota respectively and if group B
is idle, B's quota has to be divided b/n A and C in the 5:2
proportion.
- Although load balance seems to be working nicely for the
testcases I have been running, I anticipate certain corner
cases which are yet to be worked out. Especially I need to
make sure some of the HT/MC optimizations are not broken.
Ingo/Nick, IMHO virtualizing cpu-runqueues approach to solve the controller
need is not a good idea, since:
- retaining existing load-balance optimizations for MC/SMT case is
going to be hard (has to be done at schedule time now)
- because of virtualization, two virtual cpus could end up running on
the same physical cpu which would affect the carefull SMP
optimizations put in place are all-over the kernel
- not to mention specialized apps which want to bind to CPUs for
performance reasons may behave badly in such a virtualized
environment.
Hence I have been pursuing more simpler approaches like in this patch.
Your comments/views on this are highly appreciated.
--
Regards,
vatsa
next reply other threads:[~2006-09-28 17:25 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-28 17:25 Srivatsa Vaddagiri [this message]
2006-09-28 17:27 ` [RFC, PATCH 1/9] CPU Controller V2 - Split runqueue Srivatsa Vaddagiri
2006-09-28 17:28 ` [RFC, PATCH 2/9] CPU Controller V2 - Task-group priority handling Srivatsa Vaddagiri
2006-09-28 17:28 ` [RFC, PATCH 3/9] CPU Controller V2 - group timeslice management Srivatsa Vaddagiri
2006-09-28 17:29 ` [RFC, PATCH 4/9] CPU Controller V2 - define group operations Srivatsa Vaddagiri
2006-09-28 17:30 ` [RFC, PATCH 5/9] CPU Controller V2 - deal with movement of tasks Srivatsa Vaddagiri
2006-09-28 17:32 ` [RFC, PATCH 6/9] CPU Controller V2 - Handle dont care groups Srivatsa Vaddagiri
2006-09-28 17:32 ` [RFC, PATCH 7/9] CPU Controller V2 - SMP load balance changes Srivatsa Vaddagiri
2006-09-28 17:33 ` [RFC, PATCH 8/9] CPU Controller V2 - task_cpu(p) needs to be correct always Srivatsa Vaddagiri
2006-09-28 17:34 ` [RFC, PATCH 9/9] CPU Controller V2 - cpuset interface Srivatsa Vaddagiri
2006-09-29 3:28 ` [ckrm-tech] [RFC, PATCH 0/9] CPU Controller V2 Paul Jackson
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=20060928172520.GA8746@in.ibm.com \
--to=vatsa@in.ibm.com \
--cc=akpm@osdl.org \
--cc=balbir@in.ibm.com \
--cc=ckrm-tech@lists.sourceforge.net \
--cc=dev@openvz.org \
--cc=dipankar@in.ibm.com \
--cc=efault@gmx.de \
--cc=linux-kernel@vger.kernel.org \
--cc=matthltc@us.ibm.com \
--cc=mingo@elte.hu \
--cc=nagar@watson.ibm.com \
--cc=nickpiggin@yahoo.com.au \
--cc=sekharan@us.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 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.