[v12][PATCH 0/9] Implement eclone() syscall

Arnd Bergmann arnd at arndb.de
Thu Nov 19 06:20:46 PST 2009


On Wednesday 11 November 2009, Sukadev Bhattiprolu wrote:
> Based on these requirements and constraints, we explored a couple of system
> call interfaces (in earlier versions of this patchset). Based on input from
> Arnd Bergmann and others, the new interface of the system call is: 
> 
>         struct clone_args {
>                 u64 clone_flags_high;
>                 u64 child_stack_base;
>                 u64 child_stack_size;
>                 u64 parent_tid_ptr;
>                 u64 child_tid_ptr;
>                 u32 nr_pids;
>                 u32 reserved0;
>                 u64 reserved1;
>         };
> 
>         sys_eclone(u32 flags_low, struct clone_args *cargs, int args_size,
>                         pid_t *pids)
 
Sorry if I'm beating a dead horse here, but having three methods for
possible extensions (flags, args_size and reserved fields) is going
a bit too far, as I think we've discussed a few times before.

The flags field seems necessary and the reserved fields are moderately
sensible if you don't have the args_size argument (a flag could still
express the same), but if you have args_size I see no point in reserving
space. I'd much prefer if you could get rid of the args_size, but if
other insist on keeping that, please loose the redundant reserved
fields at the end.

Alternatively, just keep my name out of it ;-)

	Arnd <><


More information about the Containers mailing list