[PATCH 1/1] Revert "[PATCH] identifier to nsproxy" [message #16913] |
Mon, 11 December 2006 12:11  |
ebiederm
Messages: 1354 Registered: February 2006
|
Senior Member |
|
|
This reverts commit 373beb35cd6b625e0ba4ad98baace12310a26aa8.
No one is using this identifier yet. The purpose of this identifier
is to export nsproxy to user space which is wrong. nsproxy is
an internal implementation optimization, which should keep our
fork times from getting slower as we increase the number of global
namespaces you don't have to share.
Adding a global identifier like this is inappropriate because it makes
namespaces inherently non-recursive, greatly limiting what we can
do with them in the future.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
---
include/linux/init_task.h | 1 -
include/linux/nsproxy.h | 1 -
kernel/nsproxy.c | 4 +---
3 files changed, 1 insertions(+), 5 deletions(-)
diff --git a/include/linux/init_task.h b/include/linux/init_task.h
index b531515..6383d2d 100644
--- a/include/linux/init_task.h
+++ b/include/linux/init_task.h
@@ -75,7 +75,6 @@ extern struct nsproxy init_nsproxy;
.pid_ns = &init_pid_ns, \
.count = ATOMIC_INIT(1), \
.nslock = __SPIN_LOCK_UNLOCKED(nsproxy.nslock), \
- .id = 0, \
.uts_ns = &init_uts_ns, \
.mnt_ns = NULL, \
INIT_IPC_NS(ipc_ns) \
diff --git a/include/linux/nsproxy.h b/include/linux/nsproxy.h
index fdfb0e4..0b9f0dc 100644
--- a/include/linux/nsproxy.h
+++ b/include/linux/nsproxy.h
@@ -24,7 +24,6 @@ struct pid_namespace;
struct nsproxy {
atomic_t count;
spinlock_t nslock;
- unsigned long id;
struct uts_namespace *uts_ns;
struct ipc_namespace *ipc_ns;
struct mnt_namespace *mnt_ns;
diff --git a/kernel/nsproxy.c b/kernel/nsproxy.c
index e2ce748..f5b9ee6 100644
--- a/kernel/nsproxy.c
+++ b/kernel/nsproxy.c
@@ -46,10 +46,8 @@ static inline struct nsproxy *clone_namespaces(struct nsproxy *orig)
struct nsproxy *ns;
ns = kmemdup(orig, sizeof(struct nsproxy), GFP_KERNEL);
- if (ns) {
+ if (ns)
atomic_set(&ns->count, 1);
- ns->id = -1;
- }
return ns;
}
--
1.4.4.1.g278f
_______________________________________________
Containers mailing list
Containers@lists.osdl.org
https://lists.osdl.org/mailman/listinfo/containers
|
|
|
|
|
Re: [PATCH 1/1] Revert "[PATCH] identifier to nsproxy" [message #16931 is a reply to message #16922] |
Mon, 11 December 2006 20:24   |
serue
Messages: 750 Registered: February 2006
|
Senior Member |
|
|
Quoting Eric W. Biederman (ebiederm@xmission.com):
> Cedric Le Goater <clg@fr.ibm.com> writes:
>
> > Eric W. Biederman wrote:
> >> This reverts commit 373beb35cd6b625e0ba4ad98baace12310a26aa8.
> >>
> >> No one is using this identifier yet. The purpose of this identifier
> >> is to export nsproxy to user space which is wrong. nsproxy is
> >> an internal implementation optimization, which should keep our
> >> fork times from getting slower as we increase the number of global
> >> namespaces you don't have to share.
> >>
> >> Adding a global identifier like this is inappropriate because it makes
> >> namespaces inherently non-recursive, greatly limiting what we can
> >> do with them in the future.
> >
> > Future will tell us, until then, let's see how useless and buggy this non
> > feature is.
> >
> > So for the moment, I would keep it and let people experiment.
>
> Even if the id is a sane idea nsproxy is very much the wrong place to
> put it. nsproxy is an optimization so we don't bloat task struct with
> several additional pointers, and it keeps fork times under control because
> in the normal case we only have a single increment instead of several.
> I'm not fully convinced it isn't a pessimization because it adds an
> extra indirection. It is fully inappropriate to export that to user
> space.
>
> Now I don't mind a little experimentation but not in the stable kernel
> when several people disagree.
>
> To a very large degree adding an id to struct nsproxy violates the compromise
> we came to when we agreed to add nsproxy.
>
> I am willing to discuss this but not while it is silently being added
Now now, it's not being silently added, it was a very clearly commented
part of a proposed patchset sent to all interested parties for review,
and now being argued over. Sounds kosher to me.
I think the problem is that some people wnat to see an answer to the
namespace entering problem right now, but the alternate solution ased on
using pids as implicit identifiers can't be used until the pidspaces are
fully implemented.
> to the user interface and being exported to userspace in a way we have
> to support for the forseeable future. To that I strongly object.
>
> The fact that it is simply dead code for 2.6.20 is probably sufficient
> justification to revert it until we can agree.
Cedric, do you mind moving these patches to the end of the set, so
that we can continue to develop patches against the -lxc tree without
being depending on these patches? I'd hate to have this become a reason
for people not to develop against -lxc.
-serge
_______________________________________________
Containers mailing list
Containers@lists.osdl.org
https://lists.osdl.org/mailman/listinfo/containers
|
|
|
|
|
|
|
|
|
Re: [PATCH 1/1] Revert "[PATCH] identifier to nsproxy" [message #17036 is a reply to message #16931] |
Wed, 13 December 2006 17:34  |
Cedric Le Goater
Messages: 443 Registered: February 2006
|
Senior Member |
|
|
>> The fact that it is simply dead code for 2.6.20 is probably sufficient
>> justification to revert it until we can agree.
>
> Cedric, do you mind moving these patches to the end of the set, so
> that we can continue to develop patches against the -lxc tree without
> being depending on these patches? I'd hate to have this become a reason
> for people not to develop against -lxc.
sure, in next -lxc drop.
I've merged the openvz patches in 2.6.19-mm1-lxc1 and will move these id
patches down the stack.
C.
_______________________________________________
Containers mailing list
Containers@lists.osdl.org
https://lists.osdl.org/mailman/listinfo/containers
|
|
|