Commit Graph

  • daa0e436ba implement malloc_getcpu for windows Leonardo Santagada 2018-10-31 12:03:42 +01:00
  • 4e920d2c9d Add --{enable,disable}-{static,shared} to configure script John Ericson 2018-12-14 15:28:34 -05:00
  • 7241bf5b74 Only read arena index from extent on the tcache flush path. Qi Wang 2018-12-03 18:30:58 -08:00
  • 441335d924 Add unit test for producer-consumer pattern. Qi Wang 2018-12-17 15:29:37 -08:00
  • 36de5189c7 Add rate counters to stats Alexander Zinoviev 2018-12-10 11:29:44 -08:00
  • 99f4eefb61 Fix incorrect stats mreging with sharded bins. Qi Wang 2018-12-07 18:06:04 -08:00
  • 711a61f3b4 Add unit test for sharded bins. Qi Wang 2018-11-28 16:23:18 -08:00
  • 98b56ab23d Store the bin shard selection in TSD. Qi Wang 2018-11-27 12:38:47 -08:00
  • 45bb4483ba Add stats for arenas.bin.i.nshards. Qi Wang 2018-11-21 11:17:31 -08:00
  • 3f9f2833f6 Add opt.bin_shards to specify number of bin shards. Qi Wang 2018-11-20 13:51:32 -08:00
  • 37b8913925 Add support for sharded bins within an arena. Qi Wang 2018-11-12 15:56:04 -08:00
  • b23336af96 mutex: fix trylock spin wait contention Dave Watson 2018-11-26 08:11:00 -08:00
  • c4063ce439 Set the default number of background threads to 4. Qi Wang 2018-11-15 13:01:05 -08:00
  • 43f3b1ad0c Deprecate OSSpinLock. Qi Wang 2018-11-08 15:43:09 -08:00
  • 13c237c7ef Add a fastpath for arena_slab_reg_alloc_batch Dave Watson 2018-10-29 16:01:09 -07:00
  • 17aa470760 add extent_nfree_sub Dave Watson 2018-10-29 15:09:21 -07:00
  • 4b82872ebf arena: Refactor tcache_fill to batch fill from slab Dave Watson 2018-10-18 09:49:45 -07:00
  • 57553c3b1a Avoid touching all pages in extent_recycle for debug build. Qi Wang 2018-11-12 11:15:03 -08:00
  • 1f56115704 Fix tcache_flush (follow up cd2931a). Qi Wang 2018-11-09 14:45:06 -08:00
  • 794e29c0ab Add a free() and sdallocx(where flags=0) fastpath Dave Watson 2018-10-18 13:14:04 -07:00
  • e2ab215324 refactor tcache_dalloc_small Dave Watson 2018-10-18 13:13:57 -07:00
  • 5e795297b3 rtree: add rtree_szind_slab_read_fast Dave Watson 2018-10-18 12:51:54 -07:00
  • a4c6b9ae01 Restore a FreeBSD-specific getpagesize(3) optimization. Edward Tomasz Napierala 2018-10-25 16:06:42 +01:00
  • cd2931ad9b Fix tcaches_flush. Qi Wang 2018-11-08 16:20:48 -08:00
  • 7ee0b6cc37 Properly trigger decay on tcache destory. Qi Wang 2018-11-08 12:24:38 -08:00
  • d66f976628 Optimize large deallocation. Qi Wang 2018-10-23 13:50:42 -07:00
  • 8dabf81df1 Bypass extent_dalloc when retain is enabled. Qi Wang 2018-10-31 14:54:53 -07:00
  • 50b473c883 Set commit properly for FreeBSD w/ overcommit. Qi Wang 2018-11-02 14:01:45 -07:00
  • be0749f591 Restrict lwsync to powerpc64 only Justin Hibbits 2018-10-23 16:41:14 -05:00
  • ceba1dde27 Make use of pthread_set_name_np(3) on FreeBSD. Edward Tomasz Napierala 2018-10-06 16:43:07 +01:00
  • 936bc2aa15 prof: Fix memory regression Dave Watson 2018-10-23 08:12:46 -07:00
  • 0f8313659e malloc: Add a fastpath Dave Watson 2018-10-10 11:54:58 -07:00
  • 0ec656eb71 ticker: add ticker_trytick Dave Watson 2018-10-16 10:23:08 -07:00
  • ac34afb403 drop bump_empty_alloc option. Size class lookup support used instead. Dave Watson 2018-10-08 10:13:02 -07:00
  • 4edbb7c64c sz: Support 0 size in size2index lookup/compute Dave Watson 2018-10-08 10:11:04 -07:00
  • 2b112ea593 add test for zero-sized alloc and aligned alloc Dave Watson 2018-10-09 08:41:36 -07:00
  • 01e2a38e5a Make smallocx symbol name depend on the JEMALLOC_VERSION_GID gnzlbg 2018-10-05 13:11:21 +02:00
  • 837de32496 Test smallocx on Travis-CI gnzlbg 2018-07-11 15:11:53 +02:00
  • 741fca1bb7 Hide smallocx even when enabled from the library API gnzlbg 2018-07-11 21:39:44 +02:00
  • 730e57b08f Adapts mallocx integration tests for smallocx gnzlbg 2018-07-11 15:04:48 +02:00
  • 08260a6b94 Add experimental API: smallocx_return_t smallocx(size, flags) gnzlbg 2017-11-15 18:26:49 +01:00
  • 325e3305fc remove malloc_init() off the fastpath Dave Watson 2018-10-03 14:47:31 -07:00
  • 997d86acc6 restrict bytes_until_sample to int64_t. This allows optimal asm generation of sub bytes_until_sample, usize; je; for x86 arch. Subtraction is unconditional, and only flags are checked for the jump, no extra compare is necessary. This also reduces register pressure. Dave Watson 2018-10-09 11:25:36 -07:00
  • d1a861fa80 add a check for SC_LARGE_MAXCLASS Dave Watson 2018-10-09 11:16:19 -07:00
  • 0ac524308d refactor prof accum, so that tdata is not loaded if we aren't going to sample. Dave Watson 2018-10-09 11:07:24 -07:00
  • 9ed3bdc848 move bytes until sample to tsd. Fastpath allocation does not need to load tdata now, avoiding several branches. Dave Watson 2018-10-09 10:59:02 -07:00
  • 09adf18f1a Remove a branch from cache_bin_alloc_easy Dave Watson 2018-10-08 12:29:57 -07:00
  • 856319dc8a check return value of malloc_read_fd jsteemann 2018-10-05 01:29:19 +02:00
  • f80c97e477 Rework the way jemalloc uses mmap(2) on FreeBSD. Edward Tomasz Napierala 2018-06-23 06:51:33 +01:00
  • 676cdd6679 Disable runtime detection of lazy purging support on FreeBSD. Edward Tomasz Napierala 2018-06-23 05:44:23 +01:00
  • 115ce93562 bit_util: Don't use __builtin_clz on s390x Rajeev Misra 2018-08-23 20:58:48 -07:00
  • 88771fa013 Bootstrapping: don't overwrite opt_prof_prefix. David Goldblatt 2018-09-12 15:32:16 -07:00
  • 9f43defb6e Add sc.c to the MSVC project rustyx 2018-08-31 15:45:47 +02:00
  • 4c548a61c8 Bit_util: Use intrinsics for pow2_ceil, where available. Rajeev Misra 2018-08-10 20:27:35 -07:00
  • 36eb0b3d77 Add valgrind build bots to CI gnzlbg 2018-07-10 13:58:37 +02:00
  • 1f71e1ca43 Add hook microbenchmark. David Goldblatt 2018-08-01 14:22:05 -07:00
  • 0771ff2cea FreeBSD build changes and allow to run the tests. David Carlier 2018-08-05 10:37:53 +01:00
  • e8ec9528ab Allow the use of readlinkat over readlink. David Goldblatt 2018-08-03 12:47:40 -07:00
  • 126252a7e6 Add stats for the size of extent_avail heap Tyler Etzel 2018-08-01 14:14:33 -07:00
  • c14e6c0819 Add extents information to mallocstats output Tyler Etzel 2018-07-31 09:49:49 -07:00
  • 33f1aa5bad Fix comment on SC_NPSIZES. Tyler Etzel 2018-07-30 13:31:34 -07:00
  • 5e23f96dd4 Add unit tests for logging Tyler Etzel 2018-07-03 11:10:09 -07:00
  • b664bd7935 Add logging for sampled allocations Tyler Etzel 2018-07-05 10:56:33 -07:00
  • eb261e53a6 Small refactoring of emitter Tyler Etzel 2018-07-05 10:31:43 -07:00
  • 41b7372ead TSD: Add fork support to tsd_nominal_tsds. David Goldblatt 2018-07-26 14:42:37 -07:00
  • 013ab26c86 TSD: Add a tsd_nominal_list death assertion. David Goldblatt 2018-07-26 14:17:36 -07:00
  • 3aba072cef SC: Remove global data. David Goldblatt 2018-07-19 17:08:10 -07:00
  • 4bc48718b2 Tolerate experimental features for abort_conf. Qi Wang 2018-07-17 14:09:31 -07:00
  • 6deed86deb Test that .travis.yml has been produced by gen_travis.py on CI gnzlbg 2018-07-11 15:18:40 +02:00
  • 0eb0641cac Simplify output of gen_travis.py script gnzlbg 2018-07-10 14:41:20 +02:00
  • 55e5cc1341 SC: Make some key size classes static. David Goldblatt 2018-07-11 16:05:58 -07:00
  • 5112d9e5fd Add MALLOC_CONF parsing for dynamic slab sizes. David T. Goldblatt 2018-04-20 21:11:03 -07:00
  • 4610ffa942 Bootstrapping: Parse MALLOC_CONF before using slab sizes. David T. Goldblatt 2018-04-20 19:12:45 -07:00
  • a7f68aed3e SC: Add page customization functionality. David T. Goldblatt 2018-04-18 20:32:12 -07:00
  • 017dca198c SC module: Add a note on style. David T. Goldblatt 2018-04-18 19:36:40 -07:00
  • 5b7fc9056c Remove the --with-lg-page-sizes configure option. David Goldblatt 2018-01-05 13:33:37 -08:00
  • 0552aad91b Kill size_classes.sh. David Goldblatt 2018-01-05 13:11:44 -08:00
  • 4f55c0ec22 Translate size class computation from bash shell into C. David Goldblatt 2017-12-22 15:01:34 -08:00
  • 2f07e92adb Add lg_ceil to bit_util. David Goldblatt 2017-12-22 15:14:44 -08:00
  • 07b89c7673 Move quantum detection into its own file. David Goldblatt 2017-12-18 17:45:21 -08:00
  • e904f813b4 Hide size class computation behind a layer of indirection. David Goldblatt 2017-12-14 12:46:39 -08:00
  • fb924dd7bf Suppress -Wmissing-field-initializer warning only for compilers with buggy implementation gnzlbg 2018-07-10 14:48:18 +02:00
  • 3d29d11ac2 Clean compilation -Wextra gnzlbg 2018-05-03 11:40:53 +02:00
  • ce5c073fe5 Fix MSVC build Maks Naumov 2018-05-31 19:28:06 +03:00
  • cdf15b458a Rename huge_threshold to experimental, and tweak documentation. Qi Wang 2018-06-04 11:04:29 -07:00
  • ff622eeab5 Add unit test for opt.huge_threshold. Qi Wang 2018-06-01 15:58:31 -07:00
  • 1302af4c43 Add ctl and stats for opt.huge_threshold. Qi Wang 2018-06-01 14:45:19 -07:00
  • 79522b2fc2 Refactor arena_is_auto. Qi Wang 2018-06-01 15:06:36 -07:00
  • 94a88c26f4 Implement huge arena: opt.huge_threshold. Qi Wang 2018-05-21 13:33:48 -07:00
  • 77a71ef2b7 Fall back to the default pthread_create if RTLD_NEXT fails. Qi Wang 2018-06-06 15:52:52 -07:00
  • d1e11d48d4 Move tsd link and in_hook after tcache. David Goldblatt 2018-06-21 13:02:49 -07:00
  • 50820010fe Add test for remote deallocation. Qi Wang 2018-06-26 13:27:44 -07:00
  • fec1ef7c91 Fix arena locking in tcache_bin_flush_large(). Qi Wang 2018-06-26 11:40:53 -07:00
  • 0ff7ff3ec7 Optimize ixalloc by avoiding a size lookup. Qi Wang 2018-06-04 13:36:06 -07:00
  • c834912aa9 Avoid taking large_mtx for auto arenas. Qi Wang 2018-05-29 15:55:04 -07:00
  • 9bd8deb260 Fix stats output for opt.lg_extent_max_active_fit. Qi Wang 2018-06-04 11:06:23 -07:00
  • d22e150320 Avoid taking extents_muzzy mutex when muzzy is disabled. Qi Wang 2018-05-24 12:18:54 -07:00
  • a7f749c9af Hooks: Protect against reentrancy. David Goldblatt 2018-05-15 14:15:43 -07:00
  • 0379235f47 Tests: Shouldn't be able to change global slowness. David Goldblatt 2018-05-11 16:43:43 -07:00
  • 59e371f463 Hooks: Add a hook exhaustion test. David Goldblatt 2018-04-30 16:24:36 -07:00