summaryrefslogtreecommitdiffstats
path: root/test/integration/extent.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix test/integration/extent.Qi Wang2017-12-091-1/+1
| | | | | Should only run the hook tests without background threads. This was introduced in 6e841f6.
* Add more tests for extent hooks failure paths.Qi Wang2017-11-291-3/+20
|
* Add alloc hook test in test/integration/extent.Qi Wang2017-06-141-0/+3
|
* Implementing opt.background_thread.Qi Wang2017-05-231-0/+14
| | | | | | | | | | | Added opt.background_thread to enable background threads, which handles purging currently. When enabled, decay ticks will not trigger purging (which will be left to the background threads). We limit the max number of threads to NCPUs. When percpu arena is enabled, set CPU affinity for the background threads as well. The sleep interval of background threads is dynamic and determined by computing number of pages to purge in the future (based on backlog).
* Use MALLOC_CONF rather than malloc_conf for tests.Jason Evans2017-02-231-4/+0
| | | | | | | | | malloc_conf does not reliably work with MSVC, which complains of "inconsistent dll linkage", i.e. its inability to support the application overriding malloc_conf when dynamically linking/loading. Work around this limitation by adding test harness support for per test shell script sourcing, and converting all tests to use MALLOC_CONF instead of malloc_conf.
* Remove extraneous parens around return arguments.Jason Evans2017-01-211-2/+2
| | | | This resolves #540.
* Update brace style.Jason Evans2017-01-211-10/+8
| | | | | | | Add braces around single-line blocks, and remove line breaks before function-opening braces. This resolves #537.
* Remove leading blank lines from function bodies.Jason Evans2017-01-131-1/+0
| | | | This resolves #535.
* Refactor test extent hook code to be reusable.Jason Evans2017-01-071-244/+56
| | | | | | Move test extent hook code from the extent integration test into a header, and normalize the out-of-band controls and introspection. Also refactor the base unit test to use the header.
* Rename the arenas.extend mallctl to arenas.create.Jason Evans2017-01-071-2/+2
|
* Implement per arena base allocators.Jason Evans2016-12-271-46/+69
| | | | | | | | | | | | | Add/rename related mallctls: - Add stats.arenas.<i>.base . - Rename stats.arenas.<i>.metadata to stats.arenas.<i>.internal . - Add stats.arenas.<i>.resident . Modify the arenas.extend mallctl to take an optional (extent_hooks_t *) argument so that it is possible for all base allocations to be serviced by the specified extent hooks. This resolves #463.
* Refactor purging and splitting/merging.Jason Evans2016-12-271-16/+47
| | | | | | | | | | | | | | Split purging into lazy and forced variants. Use the forced variant for zeroing dss. Add support for NULL function pointers as an opt-out mechanism for the dalloc, commit, decommit, purge_lazy, purge_forced, split, and merge fields of extent_hooks_t. Add short-circuiting checks in large_ralloc_no_move_{shrink,expand}() so that no attempt is made if splitting/merging is not supported. This resolves #268.
* Uniformly cast mallctl[bymib]() oldp/newp arguments to (void *).Jason Evans2016-10-281-13/+14
| | | | | This avoids warnings in some cases, and is otherwise generally good hygiene.
* Verify extent hook functions receive correct extent_hooks pointer.Jason Evans2016-09-291-17/+52
|
* Relax extent hook tests to work with unsplittable extents.Jason Evans2016-06-061-8/+19
|
* Modify extent hook functions to take an (extent_t *) argument.Jason Evans2016-06-061-67/+84
| | | | | | | This facilitates the application accessing its own extent allocator metadata during hook invocations. This resolves #259.
* Rename most remaining *chunk* APIs to *extent*.Jason Evans2016-06-061-0/+253