On 8/29/11 2:00 PM, Helmut Eller wrote:
* Raymond Toy [2011-08-29 17:00] writes:
On Sat, Aug 27, 2011 at 2:01 PM, Helmut Eller <heller@common-lisp.net>wrote:
Is it necessary that we reserve such large areas at startup?
#define READ_ONLY_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */ #define STATIC_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */ #define BINDING_STACK_SIZE (0x07fff000) /* 128MB - 1 page */ #define CONTROL_STACK_SIZE (0x07fff000 - 8192) (about 128 MB)
Why are read-only and static space so large when a core file is less than 30MB? And why do we need such huge stacks?
Don't know why they're set to these sizes, but long ago, everything was much smaller, including a default heap of 64 MB or so (except on Linux which had more). I think Douglas set these defaults. I vaguely remember a few use cases where the (original) control stack size was too small.
Perhaps now would be a good time to add command-line options to allow the user to set the sizes of the spaces like the -dynamic-space-size option. Command line options would be good.
Implemented for the most part. The sizes for all spaces are now settable, with the defaults being the current values. The new options are -read-only-size, -static-size, -control-stack-size, -binding-stack-size. (Perhaps that should be -read-only-space-size and -static-space-size?) Some more testing needs to be done, so it won't be implemented in the Sept snapshot coming real soon now. Ray