From: Pavel Emelyanov <xemul-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
To: sukadev-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org
Cc: containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org,
oleg-6lXkIZvqkOAvJsYlp49lxw@public.gmane.org
Subject: Re: [PATCH 14/20] Allow cloning of new namespace
Date: Wed, 08 Aug 2007 11:29:59 +0400 [thread overview]
Message-ID: <46B970F7.3070200@openvz.org> (raw)
In-Reply-To: <20070807224827.GA2375-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
sukadev-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org wrote:
> Pavel Emelianov [xemul-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org] wrote:
> | When clone() is invoked with CLONE_NEWPID, create a new pid namespace
> | and then create a new struct pid for the new process. Allocate pid_t's
> | for the new process in the new pid namespace and all ancestor pid
> | namespaces. Make the newly cloned process the session and process group
> | leader.
> |
> | Since the active pid namespace is special and expected to be the first
>
> active pid ns is the *last entry* in this patchset (not first) right ?
yes. thanks.
> | entry in pid->upid_list, preserve the order of pid namespaces.
> |
> | The size of 'struct pid' is dependent on the the number of pid namespaces
> | the process exists in, so we use multiple pid-caches'. Only one pid cache
> | is created during system startup and this used by processes that exist
> | only in init_pid_ns.
> |
> | When a process clones its pid namespace, we create additional pid caches
> | as necessary and use the pid cache to allocate 'struct pids' for that depth.
> |
> | Note, that with this patch the newly created namespace won't work, since
> | the rest of the kernel still uses global pids, but this is to be fixed
> | soon. Init pid namespace still works.
> |
> | Signed-off-by: Pavel Emelyanov <xemul-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
> | Signed-off-by: Sukadev Bhattiprolu <sukadev-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
> |
> | ---
> |
> | include/linux/sched.h | 1
> | kernel/fork.c | 48 +++++++++++++++++---------
> | kernel/nsproxy.c | 3 +
> | kernel/pid.c | 91 +++++++++++++++++++++++++++++++++++++++++++++-----
> | 4 files changed, 118 insertions(+), 25 deletions(-)
> |
> | --- ./include/linux/sched.h.ve14 2007-08-06 15:00:09.000000000 +0400
> | +++ ./include/linux/sched.h 2007-08-06 15:00:09.000000000 +0400
> | @@ -27,6 +27,7 @@
> | #define CLONE_NEWUTS 0x04000000 /* New utsname group? */
> | #define CLONE_NEWIPC 0x08000000 /* New ipcs */
> | #define CLONE_NEWUSER 0x10000000 /* New user namespace */
> | +#define CLONE_NEWPID 0x20000000 /* New pids */
>
> Nit. I think "New pid namespace" would be a better comment.
ok.
> Suka
>
Thanks,
Pavel
prev parent reply other threads:[~2007-08-08 7:29 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-07 9:30 [PATCH 14/20] Allow cloning of new namespace xemul-GEFAQzZX7r8dnm+yROfE0A
[not found] ` <46B83B9A.mailG5N11PRTB-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2007-08-07 22:48 ` sukadev-r/Jw6+rmf7HQT0dZR+AlfA
[not found] ` <20070807224827.GA2375-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2007-08-08 7:29 ` Pavel Emelyanov [this message]
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=46B970F7.3070200@openvz.org \
--to=xemul-gefaqzzx7r8dnm+yrofe0a@public.gmane.org \
--cc=containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org \
--cc=oleg-6lXkIZvqkOAvJsYlp49lxw@public.gmane.org \
--cc=sukadev-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.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 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.