Qi Wang
61efbda709
Merge branch 'dev'
2018-05-08 12:12:50 -07:00
Qi Wang
1c51381b7c
Update ChangeLog for 5.1.0.
2018-05-08 12:06:34 -07:00
David T. Goldblatt
e94ca7f3e2
run_tests.sh: Don't test large vaddr with -m32.
2018-05-08 11:20:25 -07:00
Qi Wang
a308af360c
Reformat the version number in jemalloc.pc.in.
2018-05-07 20:12:03 -07:00
Christoph Muellner
b73380bee0
Fix include path order for out-of-tree builds.
...
When configuring out-of-tree (source directory is not build directory),
the generated include files from the build directory should have higher
priority than those in the source dir.
This is especially helpful when cross-compiling.
Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
2018-05-05 10:11:22 -07:00
David Goldblatt
4c8829e692
run_tests.sh: Test --with-lg-vaddr.
2018-05-04 15:50:12 -07:00
David Goldblatt
b001e6e740
INSTALL.md: Clarify --with-lg-vaddr.
...
The current wording can be taken to imply that we return tagged pointers to the
user, or otherwise rely on architectural support for them.
2018-05-04 15:50:12 -07:00
Christoph Muellner
63712b4c4e
configure: Add --with-lg-vaddr configure option.
...
This patch allows to override the lg-vaddr values, which
are defined by the build machine's CPUID information (x86_64)
or default values (other architectures like aarch64).
Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
2018-05-04 10:34:10 -07:00
Qi Wang
95789a24fa
Update copyright dates.
2018-05-03 15:31:42 -07:00
Qi Wang
2e7af1af73
Add TUNING.md.
2018-05-03 12:52:52 -07:00
Qi Wang
3bcaedeea2
Remove documentation for --disable-thp which was removed.
2018-05-03 12:52:52 -07:00
Qi Wang
c5b72a92cc
Fix a typo in INSTALL.md.
2018-05-02 15:08:49 -07:00
Latchesar Ionkov
a32b7bd567
Mallctl: Add arenas.lookup
...
Implement a new mallctl operation that allows looking up the arena a
region of memory belongs to.
2018-05-01 13:14:36 -07:00
Christoph Muellner
6df90600a7
aarch64: Add ILP32 support.
...
Instead of setting a fix value of 48 allowed VA bits,
we distiguish between LP64 and ILP32.
Testsuite result with LP64:
Test suite summary: pass: 13/13, skip: 0/13, fail: 0/13
Testsuit result with ILP32:
Test suite summary: pass: 13/13, skip: 0/13, fail: 0/13
Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2018-04-30 15:04:00 -07:00
Issam Maghni
39b1b20499
Adding install_lib_pc
...
Related to https://github.com/jemalloc/jemalloc/issues/974
2018-04-22 11:52:47 -07:00
Qi Wang
b8f4c730ef
Remove an incorrect assertion.
...
Background threads are created without holding the global background_thread
lock, which mean paused state is possible (and fine).
2018-04-18 14:17:08 -07:00
Qi Wang
dedfeecc4e
Invoke dlsym() on demand.
...
If no lazy lock or background thread is enabled, avoid dlsym pthread_create on
boot.
2018-04-18 11:20:21 -07:00
David Goldblatt
c95284df1a
Avoid a resource leak down extent split failure paths.
...
Previously, we would leak the extent and memory associated with a salvageable
portion of an extent that we were trying to split in three, in the case where
the first split attempt succeeded and the second failed.
2018-04-18 08:19:41 -07:00
David Goldblatt
a62e42baeb
Add the --disable-initial-exec-tls configure option.
...
Right now we always make our TLS use the initial-exec model if the compiler
supports it. This change allows configure-time disabling of this setting, which
can be helpful when dynamically loading jemalloc is the only option.
2018-04-17 19:22:01 -07:00
Qi Wang
e40b2f75bd
Fix abort_conf processing.
...
When abort_conf is set, make sure we always error out at the end of the options
processing loop.
2018-04-17 18:23:53 -07:00
Qi Wang
0fadf4a2e3
Add UNUSED to avoid compiler warnings.
2018-04-16 13:50:21 -07:00
Jason Evans
2a80d6f15b
Avoid a printf format specifier warning.
...
This dodges a warning emitted by the FreeBSD system gcc when compiling
libc for architectures which don't use clang as the system compiler.
2018-04-16 11:07:51 -07:00
Qi Wang
3f0dc64c6b
Allow setting extent hooks on uninitialized auto arenas.
...
Setting extent hooks can result in initializing an unused auto arena. This is
useful to install extent hooks on auto arenas from the beginning.
2018-04-11 21:21:54 -07:00
Qi Wang
02585420c3
Document liveness requirements for extent_hooks_t structures.
2018-04-11 12:35:28 -07:00
Qi Wang
f0b146acc4
Fix a typo.
2018-04-11 10:42:57 -07:00
Jason Evans
cad27a894a
Fix a typo.
2018-04-10 17:59:10 -07:00
Jason Evans
4937309620
Silence a compiler warning.
2018-04-10 17:59:00 -07:00
Dave Watson
8b14f3abc0
background_thread: add max thread count config
...
Looking at the thread counts in our services, jemalloc's background thread
is useful, but mostly idle. Add a config option to tune down the number of threads.
2018-04-10 14:01:45 -07:00
Qi Wang
4be74d5112
Consolidate the two memory loads in rtree_szind_slab_read().
...
szind and slab bits are read on fast path, where compiler generated two memory
loads separately for them before this diff. Manually operate on the bits to
avoid the extra memory load.
2018-04-10 10:18:46 -07:00
Rajeev Misra
5f51882a0a
Stack address should not be used for ordering mutexes
2018-04-10 10:16:57 -07:00
Qi Wang
cf2f4aac1c
Fix const qualifier warnings.
2018-04-09 16:50:30 -07:00
Qi Wang
d3e0976a2c
Fix type warning on Windows.
...
Add cast since read / write has unsigned return type on windows.
2018-04-09 16:50:30 -07:00
Qi Wang
4df483f0fd
Fix arguments passed to extent_init.
2018-04-09 16:35:58 -07:00
Qi Wang
2dccf45640
Control idump and gdump with prof_active.
2018-04-09 16:35:14 -07:00
Dave Watson
6d02421730
extents: Remove preserve_lru feature.
...
preserve_lru feature adds lots of complication, for little value.
Removing it means merged extents are re-added to the lru list, and may
take longer to madvise away than they otherwise would.
Canaries after removal seem flat for several services (no change).
2018-04-02 12:40:28 -07:00
Qi Wang
21eb0d15a6
Fix a background_thread shutdown issue.
...
1) make sure background thread 0 is always created; and 2) fix synchronization
between thread 0 and the control thread.
2018-04-02 10:03:47 -07:00
Qi Wang
956c4ad6b5
Change mutable option output in stats to avoid stringify issues.
2018-03-15 14:42:48 -07:00
Qi Wang
baffeb1d0a
Fix a typo in stats.
2018-03-15 14:42:48 -07:00
Qi Wang
742416f645
Revert "CI: Remove "catgets" dependency on appveyor."
...
This reverts commit ae0f5d5c3f
.
2018-03-15 13:58:42 -07:00
David Goldblatt
4c36cd2cc5
Stats printing: Convert arena large stats to use emitter.
...
This completes the conversion; we now have only structured text output.
2018-03-09 11:47:17 -08:00
David Goldblatt
4eed989bbf
Stats printing: convert arena bin stats to use emitter.
2018-03-09 11:47:17 -08:00
David Goldblatt
a9f3cedc6e
Stats printing: remove a spurious newline.
...
This was left over from a previous emitter conversion. It didn't affect the
correctness of the output.
2018-03-09 11:47:17 -08:00
David Goldblatt
a1738f4efd
Stats printing: Make arena mutex stats use the emitter.
2018-03-09 11:47:17 -08:00
David Goldblatt
07fb707623
Stats printing: convert most per-arena stats to use the emitter.
2018-03-09 11:47:17 -08:00
David Goldblatt
8fc850695d
Stats printing: convert paging and alloc counts to use the emitter.
2018-03-09 11:47:17 -08:00
David Goldblatt
bc6620f73e
Stats printing: convert decay stats to use the emitter.
2018-03-09 11:47:17 -08:00
David Goldblatt
a6ef061c43
Stats printing: Move emitter cutoff point into stats_arena_print.
2018-03-09 11:47:17 -08:00
David Goldblatt
cbde666d9a
Stats printing: move stats_print_helper to use emitter.
2018-03-09 11:47:17 -08:00
David Goldblatt
86c61d4a57
Stats printing: Move global mutex stats to use emitter.
2018-03-09 11:47:17 -08:00
David Goldblatt
ebe0b5f828
Emitter: Add support for row-based output in table mode.
...
This is needed for things like mutex stats in table mode.
2018-03-09 11:47:17 -08:00