mirror of
https://github.com/opnsense/src.git
synced 2026-02-12 23:36:07 -05:00
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. |
||
|---|---|---|
| .. | ||
| isc | ||
| fpmath.h | ||
| libc_private.h | ||
| namespace.h | ||
| nscache.h | ||
| nscachedcli.h | ||
| nss_tls.h | ||
| port_after.h | ||
| port_before.h | ||
| reentrant.h | ||
| resolv_mt.h | ||
| spinlock.h | ||
| un-namespace.h | ||