public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Cedric Le Goater <clg@fr.ibm.com>
To: Andi Kleen <andi@firstfloor.org>
Cc: sukadev@us.ibm.com, Andrew Morton <akpm@osdl.org>,
	serue@us.ibm.com, "David C. Hansen" <haveblue@us.ibm.com>,
	Pavel Emelyanov <xemul@openvz.org>,
	Containers <containers@lists.osdl.org>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/3] change clone_flags type to u64
Date: Thu, 10 Apr 2008 14:25:31 +0200	[thread overview]
Message-ID: <47FE073B.3060007@fr.ibm.com> (raw)
In-Reply-To: <871w5enmk7.fsf@basil.nowhere.org>

Hello Andi,

Andi Kleen wrote:
> sukadev@us.ibm.com writes:
> 
>> From: Sukadev Bhattiprolu <sukadev@us.ibm.com>
>> Subject: [lxc-dev] [patch -lxc 1/3] change clone_flags type to u64
>>
>> This is a preliminary patch changing the clone_flags type to 64bits
>> for all the routines called by do_fork(). 
> 
> I must admit I was always a little sceptical of giving every tiny
> namespaceable kernel feature its own CLONE flag (and it's own 
> CONFIG option). What was the rationale for that again?

I guess that was a development rationale. Most of the namespaces are in 
use in the container projects like openvz, vserver and probably others 
and we needed a way to activate the code.

Not perfect I agree.
 
> With your current strategy are you sure that even 64bit will
> be enough in the end? For me it rather looks like you'll
> go through those quickly too as more and more of the kernel
> is namespaced.

well, we're reaching the end. I hope ! devpts is in progress and
mq is just waiting for a clone flag.
 
> Also I think the user interface is very unfriendly. How
> is a non kernel hacker supposed to make sense of these 
> myriads of flags? You'll be creating another 
> CreateProcess123_extra_args_extended() 
> in the end I fear.

well, the clone interface is a not friendly interface anyway. glibc wraps 
it and most users just use fork().

We will need a user library, like we have a libphtread or a libaio, to
effectively use the namespaces features. This is being worked on but
it's another topic.
 
> Wouldn't it be better to just partition all this into
> fewer more understandable larger feature groups?  I think
> that would be much nicer from pretty much all perspectives
> (kernel maintenance, user interface sanity, not needing
> clone128/256 in the end etc.) 

Yes. this make sense. Most of the namespaces have dependencies between
each other.

> Some consolidation on the CONFIGs would be good too. I just
> cannot imagine it really makes sense to configure everything
> so fine grained and this is just asking for random compile
> breakage on randconfig.

yes. definitely agree.

but we still need a way to extend the clone flags because none are left.
would you say that the clone64 is the right way to go or should we rather 
go in the direction hpa proposed :

http://lkml.org/lkml/2008/4/9/318 :

> If you're going to make it a 64-bit pass it in as a 64-bit number, 
> instead of breaking it into two numbers.  Better yet, IMO, would 
> be to pass a pointer to a structure like:
>  
> struct shared {
>     unsigned long nwords;
>     unsigned long flags[];
> };
> 
> ... which can be expanded indefinitely.

if we could agree on some new interface, we could then make sure we
are not abusing it.

Thanks,

C.


  reply	other threads:[~2008-04-10 12:25 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-09 22:26 [PATCH 0/3] clone64() and unshare64() system calls sukadev
2008-04-09 22:32 ` [PATCH 1/3] change clone_flags type to u64 sukadev
2008-04-10  8:25   ` Andi Kleen
2008-04-10 12:25     ` Cedric Le Goater [this message]
2008-04-10 12:52       ` Andi Kleen
2008-04-10 13:11         ` Kirill Korotaev
2008-04-10 13:23           ` Cedric Le Goater
2008-04-10 13:18         ` Cedric Le Goater
2008-04-10 17:14         ` Serge E. Hallyn
2008-04-10 22:13           ` Daniel Hokka Zakrisson
2008-04-10 22:49             ` Serge E. Hallyn
2008-04-11  8:45               ` Daniel Hokka Zakrisson
2008-04-09 22:34 ` [PATCH 2/3] add do_unshare() sukadev
2008-04-09 22:34 ` [PATCH 3/3] add the clone64() and unshare64() syscalls sukadev
2008-04-09 23:07   ` Jakub Jelinek
2008-04-10  2:15     ` sukadev
2008-04-10  3:40       ` H. Peter Anvin
2008-04-10  0:00 ` [PATCH 0/3] clone64() and unshare64() system calls H. Peter Anvin
2008-04-10  1:07   ` sukadev
2008-04-10  1:10     ` H. Peter Anvin
2008-04-10  2:38       ` sukadev
2008-04-10  2:43         ` Paul Menage
2008-04-10 18:26           ` sukadev
2008-04-10 18:31             ` H. Peter Anvin
2008-04-10 12:33       ` Cedric Le Goater
2008-04-10 16:00         ` H. Peter Anvin
2008-04-10  6:48   ` Cedric Le Goater
  -- strict thread matches above, loose matches on Subject: below --
2008-02-11  9:58 [patch 0/3] clone64() and unshare64() syscalls clg
2008-02-11  9:58 ` [patch 1/3] change clone_flags type to u64 clg

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=47FE073B.3060007@fr.ibm.com \
    --to=clg@fr.ibm.com \
    --cc=akpm@osdl.org \
    --cc=andi@firstfloor.org \
    --cc=containers@lists.osdl.org \
    --cc=haveblue@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=serue@us.ibm.com \
    --cc=sukadev@us.ibm.com \
    --cc=xemul@openvz.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox