[cmucl-imp] x86-validate.h

Raymond Toy toy.raymond at gmail.com
Mon Aug 29 19:00:59 CEST 2011


On Sat, Aug 27, 2011 at 2:01 PM, Helmut Eller <heller at 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.
Perhaps we can lower some of these.   I suspect the binding and control
stacks could be on the order of a few MB.  I think the read-only space needs
to be fairly large if you save some large images like mcclim or maxima.
(Maxima's RO space is 42 MB.)  Not sure about static space; maxima uses
about 5 MB of static space.


> With such settings one needs at least 720MB to start.  That's a problem
> unless overcommitting is enabled.
>

Does anyone really have less than 1 GB of memory/swap nowadays?  For a long
time my linux box had just 512 MB RAM + 1-2 GB of swap.

Ray


More information about the cmucl-imp mailing list