Messages in this thread | | | From | "David Schwartz" <> | Subject | RE: Problem with mlockall() and Threads: memory usage | Date | Tue, 18 May 2004 13:38:23 -0700 |
| |
> Thanks for that. > I have done some more investigating, and on my system (Standard RedHat 9) > the stack ulimit is set to 8192 KBytes. So it appears that the thread > library/kernel threads pre-allocates, and writes to, 8129 KBytes > of stack per > thread and so then mlockall() locks all of this in memory. > > Should'nt the Thread library grow the stack rather than > preallocate it all even > with mlockall() like malloc ?
I thought you wanted improved latency. Surely having to find a page for you when your stack grows will add unpredictable latency. So, no, the thread library should reserve the stack when 'mlockall(MCL_FUTURE)' is specified.
I do agree that having an 'initial stack size' in additional to a 'maximum stack size' would be a good idea. The former good for application that are concerned about physical memory usage and the latter for applications concerned about virtual memory usage.
DS
- 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/
| |