Arnd Bergmann [[email protected]] 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 -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
