[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-06 Thread Paul Menage
On 4/6/07, Pavel Emelianov [EMAIL PROTECTED] wrote: Well, it's less ugly than resetting pointer but it's worse from performance POV. See, we have an if (xxx) that is true only once during system lifetime. This is not that good... Adding an extra comparison in the container creation path

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-05 Thread Srivatsa Vaddagiri
On Wed, Apr 04, 2007 at 07:57:40PM -0700, Paul Menage wrote: Firstly, this is not a unique problem introduced by using -nsproxy. Secondly we have discussed this to some extent before (http://lkml.org/lkml/2007/2/13/122). Essentially if we see zero tasks sharing a resource object pointed to by

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-05 Thread Pavel Emelianov
Paul Menage wrote: On 4/4/07, Pavel Emelianov [EMAIL PROTECTED] wrote: Paul Menage wrote: On 4/3/07, Kirill Korotaev [EMAIL PROTECTED] wrote: Sounds reasonable. Pavel is preparing new RSS patches on top of your patches which take into account other comments and Andrew objections. Can

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-05 Thread Pavel Emelianov
Paul Menage wrote: On 4/5/07, Pavel Emelianov [EMAIL PROTECTED] wrote: That sort of implies that we need to split the container fork mechanism up into two parts, one early to add the refcount to the parent's container_group, and one late to handle the callbacks if desired. But that should

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-05 Thread Paul Menage
On 4/5/07, Srivatsa Vaddagiri [EMAIL PROTECTED] wrote: If the container directory were to have no refcount on the nsproxy, so the initial refcount was 0, No it should be 1. mkdir H1/foo rcfs_create() ns = dup_namespaces(parent);

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-05 Thread Srivatsa Vaddagiri
On Wed, Apr 04, 2007 at 11:57:18AM -0700, Paul Menage wrote: Very true. That's a bug and can be rectified. Atm however in my patch stack, I have dropped this whole find_nsproxy() and instead create a new nsproxy whenever tasks move ..Not the best I agree on long run. Or even short term, I

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-05 Thread Srivatsa Vaddagiri
On Thu, Apr 05, 2007 at 10:27:52PM +0530, Srivatsa Vaddagiri wrote: Ok ..by posting rcfs patches, I didn't mean to introduce a yours and mine rift ..honestly. In fact you would notice that they have your (sole) copyright still on them! It took me just two days to convert over the patches to

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-04 Thread Paul Menage
On 4/3/07, Srivatsa Vaddagiri [EMAIL PROTECTED] wrote: On Tue, Apr 03, 2007 at 09:04:59PM -0700, Paul Menage wrote: Have you posted the cpuset implementation over your system yet? Yep, here: http://lists.linux-foundation.org/pipermail/containers/2007-March/001497.html For some reason, the

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-04 Thread Pavel Emelianov
Paul Menage wrote: On 4/3/07, Kirill Korotaev [EMAIL PROTECTED] wrote: Sounds reasonable. Pavel is preparing new RSS patches on top of your patches which take into account other comments and Andrew objections. Can we cooperate to send it altogher then? Sure. Do you want to send me any

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-04 Thread Srivatsa Vaddagiri
On Wed, Apr 04, 2007 at 10:56:43PM +0530, Srivatsa Vaddagiri wrote: I think the null grouping as defined so far is very fuzzy ..How would the kernel use this grouping, which would require reserving N pointers in 'struct container_group'/'struct nsproxy'? aside from needing to support 'cat

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-04 Thread Eric W. Biederman
Next time I have a moment I will try and take a closer look. However currently these approaches feel like there is some unholy coupling going on between different things. In addition there appear to be some weird assumptions (an array with one member per task_struct) in the group. The pid

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-04 Thread Paul Menage
On 4/4/07, Eric W. Biederman [EMAIL PROTECTED] wrote: In addition there appear to be some weird assumptions (an array with one member per task_struct) in the group. The pid limit allows us millions of task_structs if the user wants it. A several megabyte array sounds like a completely

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-04 Thread Paul Menage
On 4/4/07, Paul Menage [EMAIL PROTECTED] wrote: The current code creates such arrays when it needs an atomic snapshot of the set of tasks in the container (e.g. for reporting them to userspace or updating the mempolicies of all the tasks in the case of cpusets). It may be possible to do it by

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-04 Thread Paul Menage
On 4/4/07, Srivatsa Vaddagiri [EMAIL PROTECTED] wrote: - how do you handle additional reference counts on subsystems? E.g. beancounters wants to be able to associate each file with the container that owns it. You need to be able to lock out subsystems from taking new reference counts on an

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-03 Thread Srivatsa Vaddagiri
On Mon, Apr 02, 2007 at 12:02:35PM -0600, Eric W. Biederman wrote: If we loose directories, then we don't have a way to manage the task-group it represents thr' the filesystem interface, so I consider that bad. As we agree, this will not be an issue if initrd mounts the ns hierarchy

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-03 Thread Serge E. Hallyn
Quoting Eric W. Biederman ([EMAIL PROTECTED]): Srivatsa Vaddagiri [EMAIL PROTECTED] writes: On Mon, Apr 02, 2007 at 09:09:39AM -0500, Serge E. Hallyn wrote: Losing the directory isn't a big deal though. And both unsharing a namespace (which causes a ns_container_clone) and mounting the

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-03 Thread Paul Menage
On 4/3/07, Serge E. Hallyn [EMAIL PROTECTED] wrote: But frankly I don't know where we stand right now wrt the containers patches. Do most people want to go with Vatsa's latest version moving containers into nsproxy? Has any other development been going on? Paul, have you made any updates?

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-03 Thread Srivatsa Vaddagiri
On Tue, Apr 03, 2007 at 10:32:20AM -0500, Serge E. Hallyn wrote: But frankly I don't know where we stand right now wrt the containers patches. Do most people want to go with Vatsa's latest version moving containers into nsproxy? Has any other development been going on? I have another

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-03 Thread Srivatsa Vaddagiri
On Tue, Apr 03, 2007 at 08:45:37AM -0700, Paul Menage wrote: Whilst I've got no objection in general to using nsproxy rather than the container_group object that I introduced in my latest patches, I think that Vatsa's approach of losing the general container object is flawed, since it loses

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-03 Thread Paul Menage
On 4/3/07, Srivatsa Vaddagiri [EMAIL PROTECTED] wrote: On Tue, Apr 03, 2007 at 08:45:37AM -0700, Paul Menage wrote: Whilst I've got no objection in general to using nsproxy rather than the container_group object that I introduced in my latest patches, So are you saying lets (re-)use

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-03 Thread Serge E. Hallyn
Quoting Paul Menage ([EMAIL PROTECTED]): On 4/3/07, Serge E. Hallyn [EMAIL PROTECTED] wrote: But frankly I don't know where we stand right now wrt the containers patches. Do most people want to go with Vatsa's latest version moving containers into nsproxy? Has any other development been

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-03 Thread Paul Menage
On 4/3/07, Srivatsa Vaddagiri [EMAIL PROTECTED] wrote: On Tue, Apr 03, 2007 at 09:52:35AM -0700, Paul Menage wrote: I'm not saying let's use nsproxy - I'm not yet convinced that the lifetime/mutation/correlation rate of a pointer in an nsproxy is likely to be the same as for a container

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-03 Thread Srivatsa Vaddagiri
On Tue, Apr 03, 2007 at 10:10:35AM -0700, Paul Menage wrote: Agreed. So I'm not saying it's fundamentally a bad idea - just that merging container_group and nsproxy is a fairly simple space optimization that could easily be done later. IMHO, if we agree that space optimization is important,

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-03 Thread Paul Menage
On 4/3/07, Srivatsa Vaddagiri [EMAIL PROTECTED] wrote: On Tue, Apr 03, 2007 at 10:10:35AM -0700, Paul Menage wrote: Agreed. So I'm not saying it's fundamentally a bad idea - just that merging container_group and nsproxy is a fairly simple space optimization that could easily be done later.

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-03 Thread Paul Menage
On 4/3/07, Srivatsa Vaddagiri [EMAIL PROTECTED] wrote: Hmm no .. I currently have nsproxy having just M additional pointers, where M is the maximum number of resource controllers and a single dentry pointer. So how do you implement something like the /proc/PID/container info file in my

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-03 Thread Paul Menage
On 4/3/07, Srivatsa Vaddagiri [EMAIL PROTECTED] wrote: (Or more generally, tell which container a task is in for a given hierarchy?) Why is the hierarchy bit important here? Usually controllers need to know tell me what cpuset this task belongs to, which is answered by

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-03 Thread Srivatsa Vaddagiri
On Tue, Apr 03, 2007 at 10:49:49AM -0700, Paul Menage wrote: Why is the hierarchy bit important here? Usually controllers need to know tell me what cpuset this task belongs to, which is answered by tsk-nsproxy-ctlr_data[CPUSET_ID]. I was thinking of queries from userspace. User space

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-03 Thread Paul Jackson
vatsa wrote: User space queries like what is the cpuset to which this task belongs, where the answer needs to be something of the form /dev/cpuset/C1? I think that answer should be of the form /C1, and not include the cpuset file system mount point ... though for the purposes of the present

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-03 Thread Srivatsa Vaddagiri
On Tue, Apr 03, 2007 at 09:04:59PM -0700, Paul Menage wrote: Have you posted the cpuset implementation over your system yet? Yep, here: http://lists.linux-foundation.org/pipermail/containers/2007-March/001497.html For some reason, the above mail didnt make it into lkml (maybe it exceeded the

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-02 Thread Serge E. Hallyn
Quoting Srivatsa Vaddagiri ([EMAIL PROTECTED]): On Mon, Feb 12, 2007 at 12:15:28AM -0800, [EMAIL PROTECTED] wrote: +int ns_container_clone(struct task_struct *tsk) +{ + return container_clone(tsk, ns_subsys); +} This function is a no-op if ns hierarchy is not mounted at this point.

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-04-02 Thread Srivatsa Vaddagiri
On Mon, Apr 02, 2007 at 09:09:39AM -0500, Serge E. Hallyn wrote: Losing the directory isn't a big deal though. And both unsharing a namespace (which causes a ns_container_clone) and mounting the hierarchy are done by userspace, so if for some installation it is a big deal, the init scripts on

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-03-30 Thread Srivatsa Vaddagiri
On Mon, Feb 12, 2007 at 12:15:28AM -0800, [EMAIL PROTECTED] wrote: +int ns_container_clone(struct task_struct *tsk) +{ + return container_clone(tsk, ns_subsys); +} This function is a no-op if ns hierarchy is not mounted at this point. This would mean that we will miss out on some

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-03-26 Thread Serge E. Hallyn
Quoting Srivatsa Vaddagiri ([EMAIL PROTECTED]): On Sat, Mar 24, 2007 at 10:35:37AM +0530, Srivatsa Vaddagiri wrote: +static int ns_create(struct container_subsys *ss, struct container *cont) +{ + struct nscont *ns; + + if (!capable(CAP_SYS_ADMIN)) + return -EPERM;

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-03-26 Thread Serge E. Hallyn
Quoting Srivatsa Vaddagiri ([EMAIL PROTECTED]): On Mon, Feb 12, 2007 at 12:15:28AM -0800, [EMAIL PROTECTED] wrote: +/* + * Rules: you can only create a container if + * 1. you are capable(CAP_SYS_ADMIN) + * 2. the target container is a descendant of your own container + */

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-03-24 Thread Srivatsa Vaddagiri
On Sat, Mar 24, 2007 at 10:35:37AM +0530, Srivatsa Vaddagiri wrote: +static int ns_create(struct container_subsys *ss, struct container *cont) +{ + struct nscont *ns; + + if (!capable(CAP_SYS_ADMIN)) + return -EPERM; Does this check break existing namespace semantics

[Devel] Re: [ckrm-tech] [PATCH 7/7] containers (V7): Container interface to nsproxy subsystem

2007-03-23 Thread Srivatsa Vaddagiri
On Mon, Feb 12, 2007 at 12:15:28AM -0800, [EMAIL PROTECTED] wrote: +/* + * Rules: you can only create a container if + * 1. you are capable(CAP_SYS_ADMIN) + * 2. the target container is a descendant of your own container + */ +static int ns_create(struct container_subsys *ss, struct