additional configuration options

Ulf Wiger <>
Fri Oct 19 12:54:00 CEST 2001


On Fri, 19 Oct 2001, Vance Shipley wrote:

>
>In addition to the configuration options in listed in the top
>level README, and available with ./configure --help, I find
>these additional options in erts/configure:
>
>  --disable-megaco-flex-scanner-lineno  disable megaco flex scanner

In the MEGACO application, the token scanner has been rewritten
as a linked-in driver. I assume that this option disables the
linked-in driver alternative and uses the erlang-based token
scanner.


>  --enable-elib-malloc    use elib_malloc instead of normal malloc"

Somebody will have to correct me if I'm wrong -- this is not my
strong side, but that makes it even more fun to try to answer. ;)

elib_malloc is an in-house malloc library mainly used on VxWorks
(because, as I've been told, the malloc in VxWorks sucks pretty
badly.) Elib_malloc spents a lot of energy managing freelists.

>  --disable-fixalloc      disable the use of fix_alloc"

fix_alloc is a special allocator for fixed size blocks. In the
header of erts/emulator/beam/fix_alloc.c, one can read the
following:

/* General purpose Memory allocator for fixed block size objects
   This allocater is at least an order of magnitude faster than
   malloc() */

I believe that there is a potential problem in running fix_alloc,
in that it keeps its own freelist, thus never returning memory to
the main malloc (which has to be used also). It's possible that
fix_alloc, even though it appears to be much faster than malloc,
can actually degrade performance (or increase fragmentation) in
the whole system. I have no personal experience to back up my
claim, but heard in the hallways that one would like to be able
to run without fix_alloc to see what happens.

In general, I've noticed that many aspects of memory allocation
are configurable in R8.

/Uffe
-- 
Ulf Wiger                                    tfn: +46  8 719 81 95
Senior System Architect                      mob: +46 70 519 81 95
Strategic Product & System Management    ATM Multiservice Networks
Data Backbone & Optical Services Division      Ericsson Telecom AB





More information about the erlang-questions mailing list