Messages in this thread | | | Date | Sat, 14 Mar 2015 18:19:16 +0200 | From | Alex Dowad <> | Subject | Re: [PATCH 01/32] do_fork(): Rename 'stack_size' argument to reflect actual use |
| |
On 14/03/15 01:04, josh@joshtriplett.org wrote: > On Fri, Mar 13, 2015 at 08:04:16PM +0200, Alex Dowad wrote: >> The 'stack_size' argument is never used to pass a stack size. It's only used when >> forking a kernel thread, in which case it is an argument which should be passed >> to the 'main' function which the kernel thread executes. Hence, rename it to >> 'kthread_arg'. > That's not the only use of stack_size. Take a look at the clone2 system > call (very minimally documented in the clone manpage) and the > implementation of copy_thread on ia64, which does use stack_size in the > non-kthread path. Thanks for pointing that out. I searched for all uses with cscope but missed sys_clone2 (which is implemented in asm). Won't make that mistake again...
I've just been searching for history on sys_clone2() but have come up empty. "git blame" isn't helping, either... the current code dates back before the start of the git history.
So out of curiosity, if you are willing to explain more: why does clone2 only exist on IA-64? Is there some characteristic of the architecture that makes being able to specify the size of the user-mode stack especially valuable, as compared to other archs? Is it used much (such as being called from the C library)?
Thanks for your feedback, Alex Dowad
| |