Commit Graph

  • 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' 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
  • d727596bcb Update a comment. Jason Evans 2017-02-24 08:59:34 -08:00
  • ed19a48928 Silence harmless warnings discovered via run_tests.sh. Jason Evans 2017-02-01 10:03:04 -08:00
  • 54d2d697b2 Test JSON output of malloc_stats_print() and fix bugs. Jason Evans 2017-01-18 01:01:19 -08:00
  • 61d26425e5 Fix JSON-mode output for !config_stats and/or !config_prof cases. Jason Evans 2017-02-24 10:40:23 -08:00
  • adae7cfc4a Fix chunk_alloc_dss() regression. Jason Evans 2017-02-24 09:45:33 -08:00
  • c2323e13a5 Get rid of witness in malloc_mutex_t when !(configured w/ debug). Qi Wang 2017-02-23 14:42:52 -08:00
  • 08c24e7c1a Relax witness assertions related to prof_gdump(). Jason Evans 2017-02-22 20:58:42 -08:00
  • f56cb9a68e Add witness_assert_depth[_to_rank](). Jason Evans 2017-01-21 15:12:03 -08:00
  • 7034e6baa1 Enable mutex witnesses even when !isthreaded. Jason Evans 2017-02-21 20:52:44 -08:00
  • 44e50041dc CI: Run --enable-debug builds on windows David Goldblatt 2017-01-31 16:44:57 -08:00
  • e85e588e45 Use MALLOC_CONF rather than malloc_conf for tests. Jason Evans 2017-02-21 23:40:06 -08:00
  • 3ecc3c8486 Fix/refactor tcaches synchronization. Jason Evans 2017-01-29 21:32:39 -08:00
  • de49674fbd Use MALLOC_CONF rather than malloc_conf for tests. Jason Evans 2017-02-21 23:40:06 -08:00
  • fdba5ad5cc Repair file permissions. Jason Evans 2017-02-21 13:15:55 -08:00
  • 8ac7937eb5 Remove remainder of mb (memory barrier). Jason Evans 2017-02-21 19:38:12 -08:00
  • 664ef652d9 Avoid -lgcc for heap profiling if unwind.h is missing. Jason Evans 2017-02-18 00:02:23 -08:00
  • 54269dc0ed Remove obsolete arena_maybe_purge() call. Jason Evans 2017-02-16 22:02:42 -08:00
  • 003ca8717f Move arena_basic_stats_merge() prototype (hygienic cleanup). Jason Evans 2017-02-19 14:05:05 -08:00
  • d4f3f9a03f Beef up travis CI integration testing David Goldblatt 2017-01-25 12:58:50 -08:00
  • 2dfc5b5aac Disable coalescing of cached extents. Jason Evans 2017-02-12 23:18:57 -08:00
  • c1ebfaa673 Optimize extent coalescing. Jason Evans 2017-02-12 23:00:19 -08:00
  • b0654b95ed Fix arena->stats.mapped accounting. Jason Evans 2017-02-13 10:35:41 -08:00
  • f8fee6908d Synchronize arena->decay with arena->decay.mtx. Jason Evans 2017-02-13 11:02:32 -08:00
  • d433471f58 Derive {allocated,nmalloc,ndalloc,nrequests}_large stats. Jason Evans 2017-02-13 09:44:46 -08:00
  • ab25d3c987 Synchronize arena->tcache_ql with arena->tcache_ql_mtx. Jason Evans 2017-02-12 18:50:53 -08:00