d6742bfbd3
This caching allows for completely lock-free allocation/deallocation in the steady state, at the expense of likely increased memory use and fragmentation. Reduce the default number of arenas to 2*ncpus, since thread-specific caching typically reduces arena contention. Modify size class spacing to include ranges of 2^n-spaced, quantum-spaced, cacheline-spaced, and subpage-spaced size classes. The advantages are: fewer size classes, reduced false cacheline sharing, and reduced internal fragmentation for allocations that are slightly over 512, 1024, etc. Increase RUN_MAX_SMALL, in order to limit fragmentation for the subpage-spaced size classes. Add a size-->bin lookup table for small sizes to simplify translating sizes to size classes. Include a hard-coded constant table that is used unless custom size class spacing is specified at run time. Add the ability to disable tiny size classes at compile time via MALLOC_TINY.
102 lines
1.0 KiB
Plaintext
102 lines
1.0 KiB
Plaintext
/*
|
|
* $FreeBSD$
|
|
*/
|
|
|
|
FBSD_1.0 {
|
|
_Exit;
|
|
a64l;
|
|
abort;
|
|
abs;
|
|
atexit;
|
|
__cxa_atexit;
|
|
__cxa_finalize;
|
|
atof;
|
|
atoi;
|
|
atol;
|
|
atoll;
|
|
bsearch;
|
|
div;
|
|
__isthreaded;
|
|
exit;
|
|
getenv;
|
|
opterr;
|
|
optind;
|
|
optopt;
|
|
optreset;
|
|
optarg;
|
|
getopt;
|
|
getopt_long;
|
|
getopt_long_only;
|
|
suboptarg;
|
|
getsubopt;
|
|
grantpt;
|
|
ptsname;
|
|
unlockpt;
|
|
hcreate;
|
|
hdestroy;
|
|
hsearch;
|
|
heapsort;
|
|
imaxabs;
|
|
imaxdiv;
|
|
insque;
|
|
l64a;
|
|
l64a_r;
|
|
labs;
|
|
ldiv;
|
|
llabs;
|
|
lldiv;
|
|
lsearch;
|
|
lfind;
|
|
_malloc_options;
|
|
_malloc_message;
|
|
malloc;
|
|
posix_memalign;
|
|
calloc;
|
|
realloc;
|
|
free;
|
|
malloc_usable_size;
|
|
mergesort;
|
|
putenv;
|
|
qsort_r;
|
|
qsort;
|
|
radixsort;
|
|
sradixsort;
|
|
rand_r;
|
|
rand;
|
|
srand;
|
|
sranddev;
|
|
srandom;
|
|
srandomdev;
|
|
initstate;
|
|
setstate;
|
|
random;
|
|
reallocf;
|
|
realpath;
|
|
remque;
|
|
setenv;
|
|
unsetenv;
|
|
strfmon;
|
|
strtoimax;
|
|
strtol;
|
|
strtoll;
|
|
strtonum;
|
|
strtoq;
|
|
strtoul;
|
|
strtoull;
|
|
strtoumax;
|
|
strtouq;
|
|
system;
|
|
tdelete;
|
|
tfind;
|
|
tsearch;
|
|
twalk;
|
|
};
|
|
|
|
FBSDprivate_1.0 {
|
|
_malloc_thread_cleanup;
|
|
_malloc_prefork;
|
|
_malloc_postfork;
|
|
__system;
|
|
_system;
|
|
};
|