From: Chandra Seetharaman <sekharan@us.ibm.com>
To: Andrew Morton <akpm@osdl.org>
Cc: haveblue@us.ibm.com, linux-kernel@vger.kernel.org,
ckrm-tech@lists.sourceforge.net
Subject: Re: [ckrm-tech] [RFC] [PATCH 00/12] CKRM after a major overhaul
Date: Fri, 21 Apr 2006 18:48:56 -0700 [thread overview]
Message-ID: <1145670536.15389.132.camel@linuxchandra> (raw)
In-Reply-To: <20060421155727.4212c41c.akpm@osdl.org>
On Fri, 2006-04-21 at 15:57 -0700, Andrew Morton wrote:
> Chandra Seetharaman <sekharan@us.ibm.com> wrote:
> >
> > On Fri, 2006-04-21 at 07:49 -0700, Dave Hansen wrote:
> > > On Thu, 2006-04-20 at 19:24 -0700, sekharan@us.ibm.com wrote:
> > > > CKRM has gone through a major overhaul by removing some of the complexity,
> > > > cutting down on features and moving portions to userspace.
> > >
> > > What do you want done with these patches? Do you think they are ready
> > > for mainline? -mm? Or, are you just posting here for comments?
> > >
> >
> > We think it is ready for -mm. But, want to go through a review cycle in
> > lkml before i request Andrew for that.
>
> From a quick scan, the overall code quality is probably the best I've seen
> for an initial submission of this magnitude. I had a few minor issues and
Thanks, and thanks to all that helped.
> questions, but it'd need a couple of hours to go through it all.
>
> So. Send 'em over when you're ready.
Great. I will wait for couple of days for comments and then send them
your way.
>
> I have one concern. If we merge this framework into mainline then we'd
> (quite reasonably) expect to see an ongoing dribble of new controllers
> being submitted. But we haven't seen those controllers yet. So there is a
> risk that you'll submit a major new controller (most likely a net or memory
> controller) and it will provoke a reviewer revolt. We'd then be in a
> situation of cant-go-forward, cant-go-backward.
>
I totally understand your concern.
CKRM's design is not tied with a specific implementation of a
controller. It allows hooking up different controllers for the same
resource. If a controller is considered complex, it can cut some of the
features and be made simpler. Or a simpler controller can replace an
earlier complex controller without affecting the user interface.
This flexibility feature reduces the "cant-go-forward, cant-go-back"
problem, somewhat.
FYI, we found out that managing network resources was not falling into
this task based model and we had to invent complex layering to
accommodate it. So, we dropped our plans for network support.
One can write controller for any resource that can be accounted at task
level. The corresponding subsystem stakeholders can ensure that it is
clean, and at acceptable level.
> It would increase the comfort level if we could see what the major
> controllers look like before committing. But that's unreasonable.
You might have seen the CPU controller (different implementation than
what we had earlier) and the numtasks controller (can prevent fork
bombs) that followed this patchset.
>
> Could I ask that you briefly enumerate
>
> a) which controllers you think we'll need in the forseeable future
>
Our main object is to provide resource control for the hardware
resources: CPU, I/O and memory.
We have already posted the CPU controller.
We have two implementations of memory controller and a I/O controller.
Memory controller is understandably more complex and controversial, and
that is the reason we haven't posted it this time around (we are looking
at ways to simplify the design and hence the complexity). Both the
memory controllers has been posted to linux-mm.
I/O controller is based on CFQ-scheduler.
> b) what they need to do
Both memory controllers provide control for LRU lists.
- One maintains the active/inactive lists per class for each zone. It
is of order O(1). Current code is little complex. We are looking at
ways to simplify it.
- Another creates pseudo zones under each zones (by splitting the
number of pages available in a zone) and attaches them with
each class.
I/O Controller that we are working on is based on CFQ scheduler and
provides bandwidth control.
>
> c) pointer to prototype code if poss
Both the memory controllers are fully functional. We need to trim them
down.
active/inactive list per class memory controller:
http://prdownloads.sourceforge.net/ckrm/mem_rc-f0.4-2615-v2.tz?download
pzone based memory controller:
http://marc.theaimsgroup.com/?l=ckrm-tech&m=113867467006531&w=2
i/o controller: This controller is not ported to the framework posted,
but can be taken for a prototype version. New version would be simpler
though.
http://prdownloads.sourceforge.net/ckrm/io_rc.tar.bz2?download
Thanks & Regards,
chandra
>
> Thanks.
--
----------------------------------------------------------------------
Chandra Seetharaman | Be careful what you choose....
- sekharan@us.ibm.com | .......you may get it.
----------------------------------------------------------------------
next prev parent reply other threads:[~2006-04-22 1:49 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-04-21 2:24 [RFC] [PATCH 00/12] CKRM after a major overhaul sekharan
2006-04-21 2:24 ` [RFC] [PATCH 01/12] Register/Unregister interface for Controllers sekharan
2006-04-21 2:24 ` [RFC] [PATCH 02/12] Class creation/deletion sekharan
2006-04-21 2:24 ` [RFC] [PATCH 03/12] Share Handling sekharan
2006-04-21 2:24 ` [RFC] [PATCH 04/12] Add task logic to class sekharan
2006-04-21 2:24 ` [RFC] [PATCH 05/12] Init and clear class info in task sekharan
2006-04-21 2:24 ` [RFC] [PATCH 06/12] Add proc interface to get class info of task sekharan
2006-04-21 2:24 ` [RFC] [PATCH 07/12] Configfs based filesystem user interface - RCFS sekharan
2006-04-21 2:24 ` [RFC] [PATCH 08/12] Add attribute support to RCFS sekharan
2006-04-21 2:25 ` [RFC] [PATCH 09/12] Add stats file " sekharan
2006-04-21 2:25 ` [RFC] [PATCH 10/12] Add shares " sekharan
2006-04-21 2:25 ` [RFC] [PATCH 11/12] Add members " sekharan
2006-04-21 2:25 ` [RFC] [PATCH 12/12] Documentation for CKRM sekharan
2006-04-21 14:49 ` [ckrm-tech] [RFC] [PATCH 00/12] CKRM after a major overhaul Dave Hansen
2006-04-21 16:58 ` Chandra Seetharaman
2006-04-21 22:57 ` Andrew Morton
2006-04-22 1:48 ` Chandra Seetharaman [this message]
2006-04-22 2:13 ` Andrew Morton
2006-04-22 2:20 ` Matt Helsley
2006-04-22 2:33 ` Andrew Morton
2006-04-22 5:28 ` Chandra Seetharaman
2006-04-24 1:10 ` KUROSAWA Takahiro
2006-04-24 4:39 ` Kirill Korotaev
2006-04-24 5:41 ` KUROSAWA Takahiro
2006-04-24 6:45 ` Kirill Korotaev
2006-04-24 7:12 ` KUROSAWA Takahiro
2006-04-24 5:18 ` Hirokazu Takahashi
2006-04-25 1:42 ` Chandra Seetharaman
2006-04-23 6:52 ` Paul Jackson
2006-04-23 9:31 ` Matt Helsley
2006-04-28 1:58 ` Chandra Seetharaman
2006-04-28 6:07 ` Kirill Korotaev
2006-04-28 17:57 ` Chandra Seetharaman
2006-04-24 1:47 ` Hirokazu Takahashi
2006-04-24 20:42 ` Shailabh Nagar
-- strict thread matches above, loose matches on Subject: below --
2006-04-21 19:07 Al Boldi
2006-04-21 22:04 ` Matt Helsley
[not found] ` <200604220708.40018.a1426z@gawab.com>
2006-04-22 5:46 ` Chandra Seetharaman
2006-04-22 20:40 ` Al Boldi
2006-04-23 2:33 ` Matt Helsley
2006-04-23 11:22 ` Al Boldi
2006-04-24 18:23 ` Chandra Seetharaman
2006-04-21 22:09 ` Chandra Seetharaman
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=1145670536.15389.132.camel@linuxchandra \
--to=sekharan@us.ibm.com \
--cc=akpm@osdl.org \
--cc=ckrm-tech@lists.sourceforge.net \
--cc=haveblue@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
/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