- Jun 13, 2017
-
-
Jason Evans authored
-
Jason Evans authored
-
- Jun 12, 2017
-
-
Qi Wang authored
We lookup freed extents for testing in post_reset. Take background_thread lock so that the extents are not modified at the same time.
-
Qi Wang authored
-
Qi Wang authored
Avoid calling pthread_create in postfork handlers.
-
Qi Wang authored
To avoid complications, avoid invoking pthread_create "internally", instead rely on thread0 to launch new threads, and also terminating threads when asked.
-
- Jun 09, 2017
-
-
Jason Evans authored
Also fix a compilation error #ifndef JEMALLOC_PTHREAD_CREATE_WRAPPER.
-
Jason Evans authored
-
- Jun 08, 2017
-
-
Jason Evans authored
Pre-C11 compilers do not support typedef redefinition.
-
Qi Wang authored
-
Qi Wang authored
Avoid holding arenas_lock and background_thread_lock when creating background threads, because pthread_create may take internal locks, and potentially cause deadlock with jemalloc internal locks.
-
- Jun 07, 2017
-
-
Qi Wang authored
Since tsd cleanup isn't guaranteed when reincarnated, we set up tsd in a way that needs no cleanup, by making it going through slow path instead.
-
- Jun 05, 2017
- Jun 02, 2017
- Jun 01, 2017
-
-
Qi Wang authored
The state initialization should be done before pthread_create.
-
Jason Evans authored
Add testing for background_thread:true, and condition a xallocx() --> rallocx() escalation assertion to allow for spurious in-place rallocx() following xallocx() failure.
-
Jason Evans authored
Refactor bootstrapping such that dlsym() is called during the bootstrapping phase that can tolerate reentrant allocation.
-
Jason Evans authored
-
David Goldblatt authored
Previously we could still hit these assertions down error paths or in the extended API.
-
Qi Wang authored
-
Jason Evans authored
-
- May 31, 2017
-
-
David Goldblatt authored
-
David Goldblatt authored
-
David Goldblatt authored
-
David Goldblatt authored
-
David Goldblatt authored
-
David Goldblatt authored
-
Jason Evans authored
This resolves #528.
-
Qi Wang authored
Use a separate boolean to track the enabled status, instead of leaving the global background thread status inconsistent.
-
Qi Wang authored
-
Jason Evans authored
This resolves #507.
-
Qi Wang authored
-
Jason Evans authored
This resolves #412.
-
- May 30, 2017
-
-
Jason Evans authored
This resolves #669.
-
Qi Wang authored
We do not lock extents while advancing epoch. This change makes sure that we only read npages from extents once in order to avoid any inconsistency.
-
Jason Evans authored
-
Jason Evans authored
Fix management of extent_grow_next to serialize operations that may grow retained memory. This assures that the sizes of the newly allocated extents correspond to the size classes in the intended growth sequence. Fix management of extent_grow_next to skip size classes if a request is too large to be satisfied by the next size in the growth sequence. This avoids the potential for an arbitrary number of requests to bypass triggering extent_grow_next increases. This resolves #858.
-
Jason Evans authored
-