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

Sukadev Bhattiprolu sukadev at linux.vnet.ibm.com
Thu Nov 19 15:56:44 PST 2009


Arnd Bergmann [arnd at arndb.de] wrote:
| 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.

Based on earlier discussions, it looked like using 'flags' to extend
the number of arguments or size of clone_args was not clean. But I 
agree with your point on the redundancy.

How about dropping ->reserved1 and leaving the 'u32 reserved0' so the
structure size is same on all architectures ?

Sukadev


More information about the Containers mailing list