| Commit message (Collapse) | Author | Age | Files | Lines |
| |\ |
|
| | | |
|
| | |
| |
| |
| |
| | |
Explicitly use iallocztm for internal allocations. ialloc could trigger arena
creation, which may cause lock order reversal (narenas_mtx and log_mtx).
|
| | |
| |
| |
| |
| | |
The test attempts to trigger usage of multiple sharded bins, which percpu_arena
makes it less reliable.
|
| | | |
|
| | |
| |
| |
| | |
This fixes a compiler warning.
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
We should allow a way to easily disable the feature (e.g. not reserving the
arena id at all).
|
| | | |
|
| | |
| |
| |
| | |
This change improves memory usage slightly, at virtually no CPU cost.
|
| | | |
|
| | |
| |
| |
| |
| | |
When it happens, this might cause a slowdown on the fast path operations.
However such case is very rare.
|
| | |
| |
| |
| |
| | |
In some rare cases (older compiler, e.g. gcc 4.2 w/ MIPS), 8-bit atomics might
be unavailable. Detect such cases so that we can workaround.
|
| | |
| |
| |
| |
| | |
This regression was introduced by
3d29d11ac2c1583b9959f73c0548545018d31c8a (Clean compilation -Wextra).
|
| | |
| |
| |
| | |
Introduced in e13400c919e6b6730284ff011875bbcdd6821f1c.
|
| | |
| |
| |
| |
| |
| | |
These macros have been unused since
d4ac7582f32f506d5203bea2f0115076202add38 (Introduce a backport of C11
atomics).
|
| | |
| |
| | |
Proposed fix for #1444 - ensure that `tls_callback` in the `#pragma comment(linker)`directive gets the same prefix added as it does i the C declaration.
|
| | |
| |
| |
| |
| | |
Only triggers libgcc unwind init when prof is enabled. This helps workaround
some bootstrapping issues.
|
| | |
| |
| |
| |
| |
| | |
This fixes a build failure when integrating with FreeBSD's libc. This
regression was introduced by d1e11d48d4c706e17ef3508e2ddb910f109b779f
(Move tsd link and in_hook after tcache.).
|
| | |
| |
| |
| |
| | |
However, skip building the docs (and output warnings) if XML support is missing.
This allows `make install` to succeed w/o `make dist`.
|
| | | |
|
| | |
| |
| |
| | |
When not using libdl, still allows background_thread to be enabled.
|
| | |
| |
| |
| | |
This makes it possible to build full static binary.
|
| | | |
|
| | |
| |
| |
| |
| | |
This adds some overhead to the tcache flush path (which is one of the
popular paths). Guard it behind a config option.
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
The keyword huge tend to remind people of huge pages which is not relevent to
the feature.
|
| | |
| |
| |
| |
| |
| | |
This feature uses an dedicated arena to handle huge requests, which
significantly improves VM fragmentation. In production workload we tested it
often reduces VM size by >30%.
|
| | |
| |
| |
| |
| | |
This helps us avoid issues with size based routing (i.e. the huge_threshold
feature).
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
The rate calculation for the total row was missing.
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
For low arena count settings, the huge threshold feature may trigger an unwanted
bg thd creation. Given that the huge arena does eager purging by default,
bypass bg thd creation when initializing the huge arena.
|
| | |
| |
| |
| | |
This reverts commit 646af596d8c4ffefc1f7edf432aa2b4e669bcc78.
|
| | |
| |
| |
| | |
This reverts commit fc13a7f1fa7d1cfc1d393d7a448e68d0f433d840.
|
| | |
| |
| |
| |
| |
| | |
When custom extent_hooks or transparent huge pages are in use, the purging
semantics may change, which means we may not get zeroed pages on repopulating.
Fixing the issue by manually memset for such cases.
|
| | | |
|
| | |
| |
| |
| |
| | |
The --branch parameter is unnecessary, and may avoid problems when
testing directly on the dev branch.
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
This automatically adds -latomic if and when needed, e.g. on riscv64
systems.
Fixes #1401.
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
My distro offers a custom toolchain where it's not possible to make
static libs, so it's insufficient to just delete the libs I don't want.
I actually need to avoid building them in the first place.
|
| | |
| |
| |
| |
| | |
Add exten_arena_ind_get() to avoid loading the actual arena ptr in case we just
need to check arena matching.
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
With sharded bins, we may not flush all items from the same arena in one run.
Adjust the stats merging logic accordingly.
|