Commit Graph

  • 56b72c7b17 Transition arena struct fields to C11 atomics David Goldblatt 2017-04-04 17:22:24 -07:00
  • bc32ec3503 Move arena-tracking atomics in jemalloc.c to C11-style David Goldblatt 2017-04-04 15:12:24 -07:00
  • 864adb7f42 Transition e_prof_tctx in struct extent to C11 atomics David Goldblatt 2017-04-04 14:33:25 -07:00
  • 7da04a6b09 Convert prng module to use C11-style atomics David Goldblatt 2017-04-03 18:18:40 -07:00
  • 492e9f301e Make the tsd member init functions to take tsd_t * type. Qi Wang 2017-04-04 11:09:45 -07:00
  • d3cda3423c Do proper cleanup for tsd_state_reincarnated. Qi Wang 2017-03-29 17:00:52 -07:00
  • 51d3682950 Remove the leafkey NULL check in leaf_elm_lookup. Qi Wang 2017-03-28 17:14:43 -07:00
  • 9ed84b0d45 Add init function support to tsd members. Qi Wang 2017-03-29 13:18:02 -07:00
  • 5bf800a542 issue-586: detect main executable even if PIE is active Aliaksey Kandratsenka 2013-12-14 12:03:02 -08:00
  • d4e98bc0b2 Lookup extent once per time during tcache_flush_small / _large. Qi Wang 2017-03-27 17:22:01 -07:00
  • 07f4f93434 Move arena_slab_data_t's nfree into extent_t's e_bits. Jason Evans 2017-03-27 16:41:47 -07:00
  • af3d737a9a Simplify rtree cache replacement policy. Qi Wang 2017-03-27 11:48:39 -07:00
  • c6d1819e48 Simplify rtree_clear() to avoid locking. Jason Evans 2017-03-27 04:10:11 -07:00
  • 4020523f67 Fix a race in rtree_szind_slab_update() for RTREE_LEAF_COMPACT. Jason Evans 2017-03-27 04:08:51 -07:00
  • 7c00f04ff4 Remove BITMAP_USE_TREE. Jason Evans 2017-03-27 01:58:09 -07:00
  • 6258176c87 Fix bitmap_ffu() to work with 3+ levels. Jason Evans 2017-03-27 01:52:20 -07:00
  • 735ad8210c Pack various extent_t fields into a bitfield. Jason Evans 2017-03-24 15:22:26 -07:00
  • 0591c204b4 Store arena index rather than (arena_t *) in extent_t. Jason Evans 2017-03-24 11:25:43 -07:00
  • 5e12223925 Fix BITMAP_USE_TREE version of bitmap_ffu(). Jason Evans 2017-03-24 22:46:56 -07:00
  • e6b074472e Force inline ifree to avoid function call costs on fast path. Qi Wang 2017-03-24 17:21:38 -07:00
  • 5d33233a5e Use a bitmap in extents_t to speed up search. Jason Evans 2017-03-23 23:45:11 -07:00
  • 57e353163f Implement BITMAP_GROUPS(). Jason Evans 2017-03-24 01:12:42 -07:00
  • c8021d01f6 Implement bitmap_ffu(), which finds the first unset bit. Jason Evans 2017-03-23 17:59:47 -07:00
  • a832ebaee9 Use first fit layout policy instead of best fit. Jason Evans 2017-03-22 20:06:25 -07:00
  • bbc16a50f9 Added documentation for mutex profiling related mallctls. Qi Wang 2017-03-22 16:59:14 -07:00
  • 362e356675 Profile per arena base mutex, instead of just a0. Qi Wang 2017-03-22 01:49:56 -07:00
  • d3fde1c124 Refactor mutex profiling code with x-macros. Qi Wang 2017-03-21 11:56:38 -07:00
  • f6698ec1e6 Switch to nstime_t for the time related fields in mutex profiling. Qi Wang 2017-03-17 17:42:10 -07:00
  • 74f78cafda Added custom mutex spin. Qi Wang 2017-03-15 15:31:37 -07:00
  • 20b8c70e9f Added extents_dirty / _muzzy mutexes, as well as decay_dirty / _muzzy. Qi Wang 2017-03-15 14:00:57 -07:00
  • 64c5f5c174 Added "stats.mutexes.reset" mallctl to reset all mutex stats. Qi Wang 2017-03-13 17:29:03 -07:00
  • bd2006a41b Added JSON output for lock stats. Qi Wang 2017-03-12 01:28:52 -08:00
  • ca9074deff Added lock profiling and output for global locks (ctl, prof and base). Qi Wang 2017-03-11 20:28:31 -08:00
  • 0fb5c0e853 Add arena lock stats output. Qi Wang 2017-03-10 12:14:05 -08:00
  • a4f176af57 Output bin lock profiling results to malloc_stats. Qi Wang 2017-03-03 19:58:43 -08:00
  • 6309df628f First stage of mutex profiling. Qi Wang 2017-02-23 14:18:07 -08:00
  • 32e7cf51cd Further specialize arena_[s]dalloc() tcache fast path. Jason Evans 2017-03-22 11:00:40 -07:00
  • 5e67fbc367 Push down iealloc() calls. Jason Evans 2017-03-20 11:00:07 -07:00
  • 51a2ec92a1 Remove extent dereferences from the deallocation fast paths. Jason Evans 2017-03-17 02:45:12 -07:00
  • 4f341412e5 Remove extent arg from isalloc() and arena_salloc(). Jason Evans 2017-03-17 01:25:12 -07:00
  • 0ee0e0c155 Implement compact rtree leaf element representation. Jason Evans 2017-03-20 16:38:21 -07:00
  • ce41ab0c57 Embed root node into rtree_t. Jason Evans 2017-03-22 16:38:03 -07:00
  • 99d68445ef Incorporate szind/slab into rtree leaves. Jason Evans 2017-03-16 17:57:52 -07:00
  • 944c8a3383 Split rtree_elm_t into rtree_{node,leaf}_elm_t. Jason Evans 2017-03-16 09:46:42 -07:00
  • f50d6009fe Remove binind field from arena_slab_data_t. Jason Evans 2017-03-13 17:48:26 -07:00
  • e8921cf2eb Convert extent_t's usize to szind. Jason Evans 2017-03-13 17:36:57 -07:00
  • bda12bd925 Clamp LG_VADDR for 32-bit builds on x64. Jason Evans 2017-03-20 17:37:02 -07:00
  • ad91762635 Not re-binding iarena when migrate between arenas. Qi Wang 2017-03-17 18:06:51 -07:00
  • 3a1363bcf8 Refactor tcaches flush/destroy to reduce lock duration. Jason Evans 2017-03-15 12:50:37 -07:00
  • afb46ce236 Propagate madvise() success/failure from pages_purge_lazy(). Jason Evans 2017-03-15 13:09:43 -07:00
  • 64e458f5cd Implement two-phase decay-based purging. Jason Evans 2017-03-08 22:42:57 -08:00
  • 38a5bfc816 Move arena_t's purging field into arena_decay_t. Jason Evans 2017-03-07 19:52:57 -08:00
  • 765edd67b4 Refactor decay-related function parametrization. Jason Evans 2017-03-07 09:22:33 -08:00
  • ee202efc79 Convert remaining arena_stats_t fields to atomics David Goldblatt 2017-03-13 16:18:40 -07:00
  • 4fc2acf5ae Switch atomic uint64_ts in arena_stats_t to C11 atomics David Goldblatt 2017-03-08 15:56:31 -08:00
  • 26d23da6cd Prefer pages_purge_forced() over memset(). Jason Evans 2017-03-09 17:20:00 -08:00
  • 28078274c4 Add alignment/size assertions to pages_*(). Jason Evans 2017-03-09 16:39:17 -08:00
  • 7cbcd2e2b7 Fix pages_purge_forced() to discard pages on non-Linux systems. Jason Evans 2017-03-09 18:20:02 -08:00
  • 21a68e2d22 Convert rtree code to use C11 atomics David Goldblatt 2017-03-09 14:49:32 -08:00
  • 3a2b183d5f Convert arena_t's purging field to non-atomic bool. Jason Evans 2017-03-07 19:18:27 -08:00
  • 75fddc786c Fix ATOMIC_{ACQUIRE,RELEASE,ACQ_REL} definitions. Jason Evans 2017-03-08 23:32:53 -08:00
  • f84471edc3 Add documentation for percpu_arena in jemalloc.xml.in. Qi Wang 2017-03-07 15:08:29 -08:00
  • ec532e2c5c Implement per-CPU arena. Qi Wang 2017-02-02 17:02:05 -08:00
  • 8721e19c04 Fix arena_prefork lock rank order for witness. Qi Wang 2017-03-08 13:00:42 -08:00
  • 8adab26972 Convert extents_t's npages field to use C11-style atomics David Goldblatt 2017-03-07 17:57:48 -08:00
  • dafadce622 Reintroduce JEMALLOC_ATOMIC_U64 David Goldblatt 2017-03-08 12:13:59 -08:00
  • 01f47f11a6 Store associated arena in tcache. Qi Wang 2017-03-06 12:51:41 -08:00
  • cdce93e4a3 Use any-best-fit for cached extent allocation. Jason Evans 2017-03-03 22:55:28 -08:00
  • cc75c35db5 Add any() and remove_any() to ph. Jason Evans 2017-03-03 22:51:21 -08:00
  • e201e24904 Perform delayed coalescing prior to purging. Jason Evans 2017-03-02 18:04:35 -08:00
  • 8547ee11c3 Fix flakiness in test_decay_ticker. Jason Evans 2017-03-02 23:32:42 -08:00
  • 4f1e94658a Change arena to use the atomic functions for ssize_t instead of the union strategy David Goldblatt 2017-03-06 11:41:29 -08:00
  • 438efede78 Add atomic types for ssize_t David Goldblatt 2017-03-06 11:40:58 -08:00
  • 424e3428b1 Make type abbreviations consistent: ssize_t is zd everywhere David Goldblatt 2017-03-06 11:40:29 -08:00
  • 84326c566a Insert not_reached after an exhaustive switch David Goldblatt 2017-03-03 16:43:47 -08:00
  • e9852b5776 Disentangle assert and util David Goldblatt 2017-03-03 10:10:08 -08:00
  • 04d8fcb745 Optimize malloc_large_stats_t maintenance. Jason Evans 2017-03-03 20:44:39 -08:00
  • d4ac7582f3 Introduce a backport of C11 atomics David Goldblatt 2017-01-25 09:54:27 -08:00
  • 957b8c5f21 Stop #define-ining away 'inline' David Goldblatt 2017-02-27 17:33:38 -08:00
  • fd058f572b Immediately purge cached extents if decay_time is 0. Jason Evans 2017-03-01 15:25:48 -08:00
  • d61a5f76b2 Convert arena_decay_t's time to be atomically synchronized. Jason Evans 2017-03-01 11:21:18 -08:00
  • ff55f07eb6 Fix typos. Jason Evans 2017-02-28 19:24:08 -08:00
  • aa1de06e3a Small style fix in ctl.c Qi Wang 2017-03-01 14:43:35 -08:00
  • a8c9e9c651 fix typo sytem -> system charsyam 2017-03-01 20:58:38 +09:00
  • 04380e79f1 Merge branch 'rc-4.5.0' Jason Evans 2017-02-28 19:09:23 -08:00
  • 379dd44c57 Add casts to CONF_HANDLE_T_U(). Jason Evans 2017-02-28 14:54:07 -08:00
  • 700253e1f2 Update ChangeLog for 4.5.0. Jason Evans 2017-02-28 12:59:22 -08:00
  • 2406c22f36 Add casts to CONF_HANDLE_T_U(). Jason Evans 2017-02-28 14:57:10 -08:00
  • e723f99dec Alphabetize private symbol names. Jason Evans 2017-02-28 14:29:54 -08:00
  • cbb6720861 Update ChangeLog for 4.5.0. Jason Evans 2017-02-28 12:59:22 -08:00
  • d84d2909c3 Fix/enhance THP integration. Jason Evans 2017-02-28 01:08:28 -08:00
  • 766ddcd0f2 restructure *CFLAGS configuration. Jason Evans 2016-12-16 07:18:55 -08:00
  • 25d50a943a Dodge 32-bit-clang-specific backtracing failure. Jason Evans 2017-02-27 18:11:58 -08:00
  • 4a068644c7 Put -D_REENTRANT in CPPFLAGS rather than CFLAGS. Jason Evans 2017-02-27 17:35:19 -08:00
  • 7b53fe928e Handle race in stats_arena_bins_print Qi Wang 2017-01-30 15:54:16 -08:00
  • 7c124830a1 Fix lg_chunk clamping for config_cache_oblivious. Jason Evans 2017-02-27 10:56:23 -08:00
  • 1027a2682b Add some missing explicit casts. Jason Evans 2016-12-13 13:38:11 -08:00
  • 472fef2e12 Fix {allocated,nmalloc,ndalloc,nrequests}_large stats regression. Jason Evans 2017-02-25 14:10:05 -08:00
  • 079b8bee37 Tidy up extent quantization. Jason Evans 2017-02-26 12:48:43 -08:00
  • 1e2c9ef8d6 Fix huge-aligned allocation. Jason Evans 2017-02-26 12:58:15 -08:00