[Devel] Re: [RFC][v8][PATCH 9/10]: Define clone3() syscall

2009-10-22 Thread Michael Kerrisk
Peter, On Wed, Oct 21, 2009 at 3:03 PM, H. Peter Anvin h...@zytor.com wrote: On 10/21/2009 01:26 PM, Michael Kerrisk wrote: My question here is: what does 3 actually mean? In general, system calls have not followed any convention of numbering to indicate successive versions -- clone2() being

[Devel] Re: [RFC][v8][PATCH 9/10]: Define clone3() syscall

2009-10-22 Thread Michael Kerrisk
Sukadev, On Wed, Oct 21, 2009 at 9:44 PM, Sukadev Bhattiprolu suka...@linux.vnet.ibm.com wrote: H. Peter Anvin [...@zytor.com] wrote: On 10/21/2009 01:26 PM, Michael Kerrisk wrote: My question here is: what does 3 actually mean? In general, system calls have not followed any convention of

[Devel] Re: [RFC][v8][PATCH 9/10]: Define clone3() syscall

2009-10-22 Thread H. Peter Anvin
On 10/22/2009 07:26 PM, Michael Kerrisk wrote: 3 is number of arguments. sys_clone3(struct clone_struct __user *ucs, pid_t __user *pids) It appears to me that the number of arguments is 2. It was 3 at one point... I'm not sure when that changed last :-/ It's better than extended or

[Devel] Re: [RFC][v8][PATCH 9/10]: Define clone3() syscall

2009-10-22 Thread Michael Kerrisk
Peter, On Thu, Oct 22, 2009 at 1:38 PM, H. Peter Anvin h...@zytor.com wrote: On 10/22/2009 07:26 PM, Michael Kerrisk wrote: 3 is number of arguments. sys_clone3(struct clone_struct __user *ucs, pid_t __user *pids) It appears to me that the number of arguments is 2. It was 3 at one

[Devel] Re: [RFC][v8][PATCH 9/10]: Define clone3() syscall

2009-10-22 Thread H. Peter Anvin
On 10/22/2009 09:14 PM, Michael Kerrisk wrote: So, sometimes, a number in a system call should be the bit width of some arguments(s), sometimes it should be the number of arguments, and sometimes (well, just occasionally, as in mmap2() and clone()) -- it should be a version number? Does the

[Devel] Re: [RFC][v8][PATCH 9/10]: Define clone3() syscall

2009-10-22 Thread Matt Helsley
On Thu, Oct 22, 2009 at 02:14:16PM +0200, Michael Kerrisk wrote: Peter, On Thu, Oct 22, 2009 at 1:38 PM, H. Peter Anvin h...@zytor.com wrote: On 10/22/2009 07:26 PM, Michael Kerrisk wrote: 3 is number of arguments. sys_clone3(struct clone_struct __user *ucs, pid_t __user *pids)

[Devel] Re: [RFC][v8][PATCH 9/10]: Define clone3() syscall

2009-10-22 Thread Sukadev Bhattiprolu
Michael Kerrisk [mtk.manpa...@googlemail.com] wrote: | Sukadev, | | On Wed, Oct 21, 2009 at 9:44 PM, Sukadev Bhattiprolu | suka...@linux.vnet.ibm.com wrote: | H. Peter Anvin [...@zytor.com] wrote: | On 10/21/2009 01:26 PM, Michael Kerrisk wrote: | | My question here is: what does 3 actually

[Devel] Re: [RFC][v8][PATCH 9/10]: Define clone3() syscall

2009-10-21 Thread H. Peter Anvin
On 10/21/2009 01:26 PM, Michael Kerrisk wrote: My question here is: what does 3 actually mean? In general, system calls have not followed any convention of numbering to indicate successive versions -- clone2() being the one possible exception that I know of. 3 is number of arguments. It's

[Devel] Re: [RFC][v8][PATCH 9/10]: Define clone3() syscall

2009-10-21 Thread Sukadev Bhattiprolu
H. Peter Anvin [...@zytor.com] wrote: On 10/21/2009 01:26 PM, Michael Kerrisk wrote: My question here is: what does 3 actually mean? In general, system calls have not followed any convention of numbering to indicate successive versions -- clone2() being the one possible exception that I know

[Devel] Re: [RFC][v8][PATCH 9/10]: Define clone3() syscall

2009-10-21 Thread H. Peter Anvin
On 10/22/2009 04:44 AM, Sukadev Bhattiprolu wrote: 3 is number of arguments. To me, it is a version number. mmap() and mmap2() both have 6 parameters. You keep bringing this up. mmap2() is (a) a non-user-visible call; (b) an exception (a mistake, if you want.) Besides if wait4() were

[Devel] Re: [RFC][v8][PATCH 9/10]: Define clone3() syscall

2009-10-20 Thread Michael Kerrisk
On Tue, Oct 20, 2009 at 1:50 AM, Matt Helsley matth...@us.ibm.com wrote: On Tue, Oct 20, 2009 at 06:31:20AM +0900, H. Peter Anvin wrote: On 10/20/2009 02:44 AM, Matt Helsley wrote: | | I know I'm late to this discussion, but why the name clone3()? It's | not consistent with any other

[Devel] Re: [RFC][v8][PATCH 9/10]: Define clone3() syscall

2009-10-19 Thread Matt Helsley
On Fri, Oct 16, 2009 at 11:06:31AM -0700, Sukadev Bhattiprolu wrote: Michael Kerrisk [mtk.manpa...@googlemail.com] wrote: | Hi Sukadev | | On Fri, Oct 16, 2009 at 6:20 AM, Sukadev Bhattiprolu | suka...@linux.vnet.ibm.com wrote: | Here is an updated patch with the following interface: |

[Devel] Re: [RFC][v8][PATCH 9/10]: Define clone3() syscall

2009-10-19 Thread H. Peter Anvin
On 10/20/2009 02:44 AM, Matt Helsley wrote: | | I know I'm late to this discussion, but why the name clone3()? It's | not consistent with any other convention used fo syscall naming, This assumption, of course, is just plain wrong. Look at the wait system calls, for example. However, when a

[Devel] Re: [RFC][v8][PATCH 9/10]: Define clone3() syscall

2009-10-19 Thread Matt Helsley
On Tue, Oct 20, 2009 at 06:31:20AM +0900, H. Peter Anvin wrote: On 10/20/2009 02:44 AM, Matt Helsley wrote: | | I know I'm late to this discussion, but why the name clone3()? It's | not consistent with any other convention used fo syscall naming, This assumption, of course, is just plain

[Devel] Re: [RFC][v8][PATCH 9/10]: Define clone3() syscall

2009-10-16 Thread Michael Kerrisk
Hi Sukadev On Fri, Oct 16, 2009 at 6:20 AM, Sukadev Bhattiprolu suka...@linux.vnet.ibm.com wrote: Here is an updated patch with the following interface:        long sys_clone3(unsigned int flags_low, struct clone_args __user *cs,                        pid_t *pids); There are just two other

[Devel] Re: [RFC][v8][PATCH 9/10]: Define clone3() syscall

2009-10-16 Thread Sukadev Bhattiprolu
Michael Kerrisk [mtk.manpa...@googlemail.com] wrote: | Hi Sukadev | | On Fri, Oct 16, 2009 at 6:20 AM, Sukadev Bhattiprolu | suka...@linux.vnet.ibm.com wrote: | Here is an updated patch with the following interface: | |        long sys_clone3(unsigned int flags_low, struct clone_args __user

[Devel] Re: [RFC][v8][PATCH 9/10]: Define clone3() syscall

2009-10-15 Thread Sukadev Bhattiprolu
Here is an updated patch with the following interface: long sys_clone3(unsigned int flags_low, struct clone_args __user *cs, pid_t *pids); There are just two other (minor) changes pending to this patchset: - PATCH 7: add a CLONE_UNUSED bit to

[Devel] Re: [RFC][v8][PATCH 9/10]: Define clone3() syscall

2009-10-13 Thread Oren Laadan
Sukadev Bhattiprolu wrote: Subject: [RFC][v8][PATCH 9/10]: Define clone3() syscall Container restart requires that a task have the same pid it had when it was checkpointed. When containers are nested the tasks within the containers exist in multiple pid namespaces and hence have multiple