-
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