Commit graph

402 commits

Author SHA1 Message Date
daanx
cf8f73098e start abandoned search randomized 2024-03-01 10:51:18 -08:00
daanx
71bcf1c76b maintain abandoned_count more robustly 2024-03-01 10:31:58 -08:00
daanx
1b3eb8ef28 quick exit from try_reclaim if no abandoned segments 2024-02-29 19:17:24 -08:00
daanx
f57c9e16bd merge from dev-abandon 2024-02-29 18:34:50 -08:00
daanx
931d523dcc update mstress to let the main thread participate 2024-02-29 18:17:58 -08:00
daanx
8fb51aae4d merge from dev-abandon 2024-02-29 15:51:37 -08:00
daanx
64edbc92dd allow abandoned segment reclaim on a free 2024-02-29 14:58:59 -08:00
daanx
bdda13b880 track abandoned segments in an arena bitmap instead of with a list 2024-02-29 14:27:28 -08:00
daanx
7020ed5e52 do not purge if purge delay is negative 2024-02-29 11:26:03 -08:00
daanx
56c0a8025a merge from dev 2023-04-24 09:06:56 -07:00
daanx
632edf9996 rename was_zero/committed to initially_zero/committed 2023-04-24 09:03:43 -07:00
daanx
95c2059e89 fix asan mem tracking 2023-04-23 19:48:49 -07:00
daanx
8f768ac841 merge from dev 2023-04-23 19:33:25 -07:00
daanx
7f93bf02c9 be explicit about memory tracking in os.c 2023-04-23 16:40:01 -07:00
daanx
a6e7baec73 merge from dev 2023-04-23 16:08:27 -07:00
daanx
c9dd6f6dc9 fix mem tracking for asan 2023-04-23 16:06:58 -07:00
daanx
2d85abdece merge from dev 2023-04-23 13:06:50 -07:00
daanx
a59ae585c7 remove allow_purge option 2023-04-23 13:04:50 -07:00
daanx
6faff49998 merge from dev 2023-04-21 11:35:48 -07:00
daanx
4cb5b45178 fix possible underflow (issue #731) 2023-04-21 09:37:05 -07:00
daanx
fb07276d48 merge from dev 2023-04-18 17:33:01 -07:00
daanx
becf379ecd merge from dev-reset 2023-04-16 12:32:20 -07:00
daanx
d48b988c40 clean up os api 2023-04-16 11:21:45 -07:00
daanx
b0104ef4fd merge from dev 2023-04-16 11:01:25 -07:00
daanx
0fc4de1440 use rich memid's to simplify the internal API's and invariants 2023-04-15 21:31:17 -07:00
daanx
e35e919ea4 remove segment-cache as it is superseded by better arena management 2023-04-13 15:37:54 -07:00
daanx
991d04b2b1 merge from dev-reset 2023-04-13 13:37:56 -07:00
daanx
c90a2bbd0a make memid's abstract for safety 2023-04-13 12:17:52 -07:00
daanx
290443aee6 fix assertion/invariant 2023-04-13 11:41:08 -07:00
daanx
269e0ea80b merge from dev-reset 2023-04-08 17:51:50 -07:00
daanx
eb62caeda0 allow per page purging instead of reset 2023-04-08 17:37:58 -07:00
daanx
2715191f58 merge from dev-reset 2023-04-05 11:22:36 -07:00
daanx
cdefd5b69c fix stats for purging 2023-04-05 11:11:03 -07:00
daanx
96e9e6f570 clean up option naming 2023-04-05 10:11:54 -07:00
daanx
4c4f2f4084 clean up arena function names 2023-04-04 18:13:35 -07:00
daanx
db74fc0c98 add abandoned reader barrier 2023-04-04 16:04:17 -07:00
daanx
a2e1d2b893 add segment map to track valid pointers 2023-04-04 16:00:17 -07:00
daanx
461df1e878 implement arena exclusive heap allocation for dev 2023-04-04 15:40:43 -07:00
daanx
77766e20a6 use only arena's instead of regions 2023-04-04 14:58:06 -07:00
daanx
09297ba8cf wip: purgeable arenas 2023-04-04 11:46:02 -07:00
daanx
d22a13c990 wip: purgeable arenas, various fixes 2023-04-03 17:58:28 -07:00
daanx
f5ab38f87b wip: use purge throughout for segments and arenas; more agressive delays 2023-04-03 15:06:09 -07:00
daanx
94a867869e wip: purgeable arenas; fix asan warnings 2023-04-03 13:53:43 -07:00
Daan Leijen
cc4ed36c7e prepare for new release 2023-04-03 12:30:18 -07:00
Daan Leijen
c344bf5c20 wip: work on purgable arenas 2023-03-31 21:18:50 -07:00
Daan Leijen
c4220e43b6 merge from dev 2023-03-29 16:24:55 -07:00
Daan Leijen
f806eb8498 remove redundant OR in mmap flags (pr #675) 2023-03-29 16:15:20 -07:00
Daan Leijen
8e6a475386 add ubsan and tsan to pipeline 2023-03-29 12:13:59 -07:00
Daan Leijen
6dd3073a75 avoid caching segments in pinned arenas; happes with huge OS page reservations 2023-03-28 10:16:19 -07:00
Daan Leijen
165b847051 improve segment_cache assertions 2023-03-23 16:11:38 -07:00