From: Cedric Le Goater <clg-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
To: Pavel Emelyanov <xemul-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
Cc: Linux Containers <containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org>
Subject: Re: Namespaces exhausted CLONE_XXX bits problem
Date: Mon, 14 Jan 2008 15:44:25 +0100 [thread overview]
Message-ID: <478B7549.2020000@fr.ibm.com> (raw)
In-Reply-To: <478B6764.6050300-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
Hello Pavel !
Pavel Emelyanov wrote:
> Hi, guys!
>
> I started looking at PTYs/TTYs/Console to make the appropriate
> namespace and suddenly remembered that we have already
> exhausted all the CLONE_ bits in 32-bit mask.
yes nearly. 1 left with the mq_namespace i'm going to send.
> So, I recalled the discussions we had and saw the following
> proposals of how to track this problem (with their disadvantages):
>
> 1. make the clone2 system call with 64-bit mask
> - this is a new system call
sys_clone2 is used on ia64 ... so we would need another name.
clone_ns() would be nice but it's too specific to namespaces unless
we agree that we need a new syscall specific to namespaces.
clone_new or clone_large ?
> 2. re-use CLONE_STOPPED
> - this will give us only one bit
not enough.
> 3. merge existing bits into one
> - we lose the ability to create them separately
it would be useful to have such a flag though, something like CLONE_ALLN,
because it's the one everyone is going to use.
what i've been looking at in December is 1. and 3. : a new general purpose
clone syscall with extend flags. The all-in-on flag is not an issue but it
would be nice to keep the last clone flag for this purpose.
Now, if we use 64bits, we have a few issue/cleanups to solve. First, in
kernel land, the clone_flags are passed down to the security modules
security_task_create()
so we'll have to change to kernel api. I don't remember anything else
blocking.
In user land, we need to choose a prototype supporting also 32bits arches.
so it could be :
long sys_clone_new(struct clone_new_args)
or
long sys_clone_new(... unsigned long flags_high, unsigned long flag_low ...)
Second option might be an issue because clone already has 6 arguments.
right ?
> 4. implement a sys_unshare_ns system call with 64bit/arbitrary mask
> - this is anew system call
I think that a new clone deserves a new unshare.
> - this will bring some dissymmetry between namespaces
what do you mean ?
> 5. use sys_indirect
> - this one is not in even -mm tree yet and it's questionable
> whether it will be at all
I don't know much about that one.
C.
> I have one more suggestion:
>
> 6. re-use bits, that don't make sense in sys_unshare (e.g.
> CLONE_STOPPED, CLONE_PARENT_SETTID, CLONE_VFORK etc)
> This will give us ~16 new bits, but this will look not very nice.
>
> What do you think about all of this?
>
> Thanks,
> Pavel
> _______________________________________________
> Containers mailing list
> Containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org
> https://lists.linux-foundation.org/mailman/listinfo/containers
>
next prev parent reply other threads:[~2008-01-14 14:44 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-14 13:45 Namespaces exhausted CLONE_XXX bits problem Pavel Emelyanov
[not found] ` <478B6764.6050300-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-01-14 14:44 ` Cedric Le Goater [this message]
[not found] ` <478B7549.2020000-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
2008-01-14 14:50 ` Pavel Emelyanov
[not found] ` <478B76C4.8050804-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-01-14 15:20 ` Cedric Le Goater
[not found] ` <478B7DB3.9050702-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
2008-01-14 16:32 ` Serge E. Hallyn
[not found] ` <20080114163246.GA31663-6s5zFf/epYLPQpwDFJZrxKsjOiXwFzmk@public.gmane.org>
2008-01-14 16:52 ` Pavel Emelyanov
[not found] ` <478B9345.30004-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-01-14 18:07 ` Serge E. Hallyn
[not found] ` <20080114180748.GA2772-6s5zFf/epYLPQpwDFJZrxKsjOiXwFzmk@public.gmane.org>
2008-01-14 21:36 ` Oren Laadan
[not found] ` <478BD5CD.7030607-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
2008-01-14 21:54 ` Dave Hansen
2008-01-15 8:25 ` Pavel Emelyanov
[not found] ` <478C6E14.1050901-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-01-15 8:39 ` Cedric Le Goater
[not found] ` <478C7156.2090004-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
2008-01-15 8:53 ` Pavel Emelyanov
[not found] ` <478C7493.8070405-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-01-15 9:40 ` Cedric Le Goater
[not found] ` <478C7F95.6050800-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
2008-01-15 9:57 ` Pavel Emelyanov
2008-01-15 9:22 ` Dave Hansen
2008-01-15 9:24 ` Pavel Emelyanov
[not found] ` <478C7BD1.7040905-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-01-15 15:08 ` Serge E. Hallyn
[not found] ` <20080115150806.GH4453-6s5zFf/epYLPQpwDFJZrxKsjOiXwFzmk@public.gmane.org>
2008-01-15 15:51 ` Cedric Le Goater
2008-01-15 7:53 ` Cedric Le Goater
[not found] ` <478C665C.80106-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
2008-01-15 14:35 ` Serge E. Hallyn
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=478B7549.2020000@fr.ibm.com \
--to=clg-nmtc/0zbporqt0dzr+alfa@public.gmane.org \
--cc=containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org \
--cc=xemul-GEFAQzZX7r8dnm+yROfE0A@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.