[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20061031163418.GD9588@in.ibm.com>
Date: Tue, 31 Oct 2006 22:04:18 +0530
From: Srivatsa Vaddagiri <vatsa@...ibm.com>
To: Pavel Emelianov <xemul@...nvz.org>
Cc: dev@...nvz.org, sekharan@...ibm.com, menage@...gle.com,
ckrm-tech@...ts.sourceforge.net, balbir@...ibm.com,
haveblue@...ibm.com, linux-kernel@...r.kernel.org, pj@....com,
matthltc@...ibm.com, dipankar@...ibm.com, rohitseth@...gle.com,
devel@...nvz.org
Subject: Re: [ckrm-tech] [RFC] Resource Management - Infrastructure choices
On Mon, Oct 30, 2006 at 05:08:03PM +0300, Pavel Emelianov wrote:
> 1. One of the major configfs ideas is that lifetime of
> the objects is completely driven by userspace.
> Resource controller shouldn't live as long as user
> want. It "may", but not "must"! As you have seen from
> our (beancounters) patches beancounters disapeared
> as soon as the last reference was dropped. Removing
> configfs entries on beancounter's automatic destruction
> is possible, but it breaks the logic of configfs.
cpusets has a neat flag called notify_on_release. If set, some userspace
agent is invoked when the last task exists from a cpuset.
Can't we use a similar flag as a configfs file and (if set) invoke a
userspace agent (to cleanup) upon last reference drop? How would this
violate logic of configfs?
> 2. Having configfs as the only interface doesn't alow
> people having resource controll facility w/o configfs.
> Resource controller must not depend on any "feature".
One flexibility configfs (and any fs-based interface) offers is, as Matt
had pointed out sometime back, the ability to delage management of a
sub-tree to a particular user (without requiring root permission).
For ex:
/
|
-----------------
| |
vatsa (70%) linux (20%)
|
----------------------------------
| | |
browser (10%) compile (50%) editor (10%)
In this, group 'vatsa' has been alloted 70% share of cpu. Also user
'vatsa' has been given permissions to manage this share as he wants. If
the cpu controller supports hierarchy, user 'vatsa' can create further
sub-groups (browser, compile ..etc) -without- requiring root access.
Also it is convenient to manipulate resource hierarchy/parameters thr a
shell-script if it is fs-based.
> 3. Configfs may be easily implemented later as an additional
> interface. I propose the following solution:
Ideally we should have one interface - either syscall or configfs - and
not both.
Assuming your requirement of auto-deleting objects in configfs can be
met thr' something similar to cpuset's notify_on_release, what other
killer problem do you think configfs will pose?
> > - Should we have different groupings for different resources?
>
> This breaks the idea of groups isolation.
Sorry dont get you here. Are you saying we should support different
grouping for different controllers?
> > - Support movement of all threads of a process from one group
> > to another atomically?
>
> This is not a critical question. This is something that
> has difference in
It can be a significant pain for some workloads. I have heard that
workload management products often encounter processes with anywhere
between 200-700 threads in a process. Moving all those threads one by
one from user-space can suck.
--
Regards,
vatsa
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists