#if _MSL_USE_FIX_MALLOC_POOLS
if (size_requested <= max_fix_pool_size)
result = allocate_from_fixed_pools(pool_obj, size_requested, size_received);
else
#endif /* _MSL_USE_FIX_MALLOC_POOLS */
result = allocate_from_var_pools(pool_obj, size_requested, size_received);
_MSL_USE_FIX_MALLOC_POOLS For tiny allocations, fixed sized pools help
significantly speed allocation/deallocation, used
only with the modern memory pooling scheme.
You can reserve a pool for a small range of
sizes. The use of fixed sized pools can be
disabled by setting
_MSL_USE_FIX_MALLOC_POOLS to 0. The
default value is 1. Use of fixed size pools
requires further configuration. The current
shipping configuration is:
1. Each pool will handle approximately 4000
bytes worth of requests before asking for more
memory.
2. There are 4 pool types. Each type is
responsible for a different range of requests:
a. 0 - 12 bytes
b. 13 - 20 bytes
c. 21 - 36 bytes
d. 37 - 68 bytes
Requests for greater than 68 bytes go to the
variable size pools. The number of types of pools
is configurable below. The range of requests for
each type is also configurable.