summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'dev'5.2.0Qi Wang2019-04-03134-2270/+8331
|\
| * Update Changelog for 5.2.0.Qi Wang2019-04-031-1/+104
| |
| * Use iallocztm instead of ialloc in prof_log functions.Qi Wang2019-04-021-5/+8
| | | | | | | | | | Explicitly use iallocztm for internal allocations. ialloc could trigger arena creation, which may cause lock order reversal (narenas_mtx and log_mtx).
| * Fix the binshard unit test.Qi Wang2019-04-021-0/+3
| | | | | | | | | | The test attempts to trigger usage of multiple sharded bins, which percpu_arena makes it less reliable.
| * Tweak the wording about oversize_threshold.Qi Wang2019-04-011-3/+3
| |
| * Avoid check_min for opt_lg_extent_max_active_fit.Qi Wang2019-03-291-1/+1
| | | | | | | | This fixes a compiler warning.
| * Add the missing unlock in the error path of extent_register.Qi Wang2019-03-291-0/+1
| |
| * Document opt.oversize_threshold.Qi Wang2019-03-291-3/+25
| |
| * Allow low values of oversize_threshold to disable the feature.Qi Wang2019-03-291-2/+2
| | | | | | | | | | We should allow a way to easily disable the feature (e.g. not reserving the arena id at all).
| * Output message before aborting on tcache size-matching check.Qi Wang2019-03-291-0/+3
| |
| * Eagerly purge oversized merged extents.Qi Wang2019-03-153-3/+36
| | | | | | | | This change improves memory usage slightly, at virtually no CPU cost.
| * Remove some unused comments.Qi Wang2019-03-151-3/+0
| |
| * Fallback to 32-bit when 8-bit atomics are missing for TSD.Qi Wang2019-03-092-8/+24
| | | | | | | | | | When it happens, this might cause a slowdown on the fast path operations. However such case is very rare.
| * Detect if 8-bit atomics are available.Qi Wang2019-03-093-0/+39
| | | | | | | | | | 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.
| * Do not use #pragma GCC diagnostic with gcc < 4.6.Jason Evans2019-03-091-10/+12
| | | | | | | | | | This regression was introduced by 3d29d11ac2c1583b9959f73c0548545018d31c8a (Clean compilation -Wextra).
| * Fix a syntax error in configure.acQi Wang2019-03-041-1/+1
| | | | | | | | Introduced in e13400c919e6b6730284ff011875bbcdd6821f1c.
| * Remove JE_FORCE_SYNC_COMPARE_AND_SWAP_[48].Jason Evans2019-02-222-50/+0
| | | | | | | | | | | | These macros have been unused since d4ac7582f32f506d5203bea2f0115076202add38 (Introduce a backport of C11 atomics).
| * Stringify tls_callback linker directiveDave Rigby2019-02-221-1/+1
| | | | | | 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.
| * Guard libgcc unwind init with opt_prof.Qi Wang2019-02-221-8/+6
| | | | | | | | | | Only triggers libgcc unwind init when prof is enabled. This helps workaround some bootstrapping issues.
| * Avoid redefining tsd_t.Jason Evans2019-02-211-1/+1
| | | | | | | | | | | | 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.).
| * Add build_doc by default.Qi Wang2019-02-082-1/+19
| | | | | | | | | | However, skip building the docs (and output warnings) if XML support is missing. This allows `make install` to succeed w/o `make dist`.
| * Add --disable-libdl to travis.Qi Wang2019-02-072-0/+24
| |
| * Make background_thread not dependent on libdl.Qi Wang2019-02-072-3/+9
| | | | | | | | When not using libdl, still allows background_thread to be enabled.
| * Add configure option --disable-libdl.Qi Wang2019-02-072-8/+34
| | | | | | | | This makes it possible to build full static binary.
| * Disable muzzy decay by default.Qi Wang2019-02-041-1/+1
| |
| * Sanity check szind on tcache flush.Qi Wang2019-02-013-2/+59
| | | | | | | | | | This adds some overhead to the tcache flush path (which is one of the popular paths). Guard it behind a config option.
| * Tweak the spacing for the total_wait_time per second.Qi Wang2019-01-281-0/+1
| |
| * Update copyright dates.Qi Wang2019-01-251-2/+2
| |
| * Rename huge_threshold to oversize_threshold.Qi Wang2019-01-2510-26/+24
| | | | | | | | | | The keyword huge tend to remind people of huge pages which is not relevent to the feature.
| * Set huge_threshold to 8M by default.Qi Wang2019-01-242-2/+9
| | | | | | | | | | | | 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%.
| * Explicitly use arena 0 in alignment and OOM tests.Qi Wang2019-01-241-3/+3
| | | | | | | | | | This helps us avoid issues with size based routing (i.e. the huge_threshold feature).
| * Mention different mmap(2) behaviour with retain:true.Edward Tomasz Napierala2019-01-241-0/+3
| |
| * Tweak the spacing for nrequests in stats output.Qi Wang2019-01-241-2/+2
| |
| * Fix stats output (rate for total # of requests).Qi Wang2019-01-241-0/+6
| | | | | | | | The rate calculation for the total row was missing.
| * Un-experimental the huge_threshold feature.Qi Wang2019-01-165-6/+5
| |
| * Avoid creating bg thds for huge arena lone.Qi Wang2019-01-165-15/+43
| | | | | | | | | | | | 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.
| * Revert "Customize cloning to include tags so that VERSION is valid."Jason Evans2019-01-141-5/+1
| | | | | | | | This reverts commit 646af596d8c4ffefc1f7edf432aa2b4e669bcc78.
| * Revert "Remove --branch=${CIRRUS_BASE_BRANCH} in git clone command."Jason Evans2019-01-141-1/+1
| | | | | | | | This reverts commit fc13a7f1fa7d1cfc1d393d7a448e68d0f433d840.
| * Avoid potential issues on extent zero-out.Qi Wang2019-01-122-4/+26
| | | | | | | | | | | | 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.
| * Force purge on thread death only when w/o bg thds.Qi Wang2019-01-121-2/+2
| |
| * Remove --branch=${CIRRUS_BASE_BRANCH} in git clone command.Jason Evans2019-01-111-1/+1
| | | | | | | | | | The --branch parameter is unnecessary, and may avoid problems when testing directly on the dev branch.
| * Customize cloning to include tags so that VERSION is valid.Jason Evans2019-01-101-1/+5
| |
| * Add Cirrus-CI config for FreeBSD buildsLi-Wen Hsu2019-01-101-0/+21
| |
| * Replace -lpthread with -pthreadFaidon Liambotis2019-01-092-2/+2
| | | | | | | | | | | | | | This automatically adds -latomic if and when needed, e.g. on riscv64 systems. Fixes #1401.
| * implement malloc_getcpu for windowsLeonardo Santagada2019-01-082-2/+4
| |
| * Add --{enable,disable}-{static,shared} to configure scriptJohn Ericson2018-12-192-2/+47
| | | | | | | | | | | | 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.
| * Only read arena index from extent on the tcache flush path.Qi Wang2018-12-182-14/+19
| | | | | | | | | | Add exten_arena_ind_get() to avoid loading the actual arena ptr in case we just need to check arena matching.
| * Add unit test for producer-consumer pattern.Qi Wang2018-12-181-2/+50
| |
| * Add rate counters to statsAlexander Zinoviev2018-12-183-232/+249
| |
| * Fix incorrect stats mreging with sharded bins.Qi Wang2018-12-081-2/+1
| | | | | | | | | | With sharded bins, we may not flush all items from the same arena in one run. Adjust the stats merging logic accordingly.