Messages in this thread | | | Date | Thu, 22 Mar 2007 21:56:03 -0700 | From | "Tony Luck" <> | Subject | Re: [PATCH][2/2] double stack limit (rfc) |
| |
On 3/22/07, KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> wrote: > I hear some people says that "When I set stack-size-limit to 32M, > I want to use 32M of memory stack..." and register-stack expansion can > fail because stack is used up by memory-stack.
An interesting dilemma. If you apply this patch though, you might get someone complain that they set the stack limit to 32M, but execution continued as the program ran all the way to 64M!
Possibly you might argue that each of the memory stack and the RBS stack should be allowed to grow to the stacklimit ... in which case you'd need a more invasive patch that made separate vma for each of the stack and the RBS stack, and checked at fault time each would be allowed to grow to the stack limit. But I'm not sure that I like that ... ia64 happens to split different objects in the stack between the RBS and the memory stack depending on whether they happen to be allocated by the compiler to stack registers (r32-r127) or to actual memory locations. Both types of allocation contribute to the total "stack" size of the process so the existing behaivour of keeping the sum of the size of the RBS stack and the memory stack below the stack limit seems quite reasonable. I'm willing to listen to opposing arguments though.
-Tony - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |