Commit graph

222 commits

Author SHA1 Message Date
daanx
e61ab67185 cleanup 2024-12-22 18:31:33 -08:00
daanx
db82baf1a8 cleanup, some renaming 2024-12-22 18:09:16 -08:00
daanx
9ecadaecd5 clean up 2024-12-22 17:55:56 -08:00
daanx
773fe7ae5b support full secure build 2024-12-22 17:25:58 -08:00
daanx
1a6fbdf0b2 merge from dev 2024-12-21 15:48:49 -08:00
daanx
476d4699ff limit purgeing to one purge cycle per purge delay 2024-12-21 15:24:46 -08:00
daanx
108c84e858 remove req_arena parameter to arena_reserve 2024-12-21 14:45:14 -08:00
daanx
e3ebebb990 update lock primitive; fix arena exclusive allocation 2024-12-21 14:39:17 -08:00
daanx
7d46478a5f add initial load/unload for heaps 2024-12-21 13:19:06 -08:00
daanx
89b0d5a357 allocate heaps associated with an arena in that arena 2024-12-21 11:53:29 -08:00
daanx
4ad7fedd25 track os abandoned pages in a list 2024-12-21 11:35:30 -08:00
daanx
dece8a587b make stats part of a subproc 2024-12-21 10:43:08 -08:00
daanx
daac75af36 fix lock recursion 2024-12-20 22:13:58 -08:00
daanx
a5b7d7f264 subprocesses own arena's 2024-12-20 21:38:31 -08:00
daanx
7141d9f164 remove busy wait for arena reservation 2024-12-20 17:31:48 -08:00
daanx
264d5a6704 update stat adjustment for purging 2024-12-17 19:13:03 -08:00
Daan Leijen
58b726be6f better stats for commit on overcommit systems (by not counting on-demand commit upfront) 2024-12-17 18:57:00 -08:00
daanx
84bb1c2712 adjust stats more clearly to avoid double counting commits 2024-12-17 18:10:28 -08:00
daanx
34d03f3981 atomically clear purge bits when visiting 2024-12-17 12:32:18 -08:00
daanx
c585753dce fix purging with ranges 2024-12-17 11:54:26 -08:00
daanx
adfeb1f6f2 fix bug in bitmap_forall_ranges 2024-12-17 10:43:31 -08:00
daanx
fdad1a0d4f fix infoslices needed calculation 2024-12-17 09:49:09 -08:00
daanx
13ee94cef6 fix concurrent mi_tld access bug 2024-12-15 13:22:00 -08:00
daanx
216c04f8d9 clean up bitmap api 2024-12-13 18:39:03 -08:00
daanx
4c81c3cf90 enable purging of free committed slices from arenas 2024-12-13 13:17:00 -08:00
daanx
42af184ce9 wip: start on purge 2024-12-13 09:04:23 -08:00
daanx
ba39e4d65b wip: start on purge 2024-12-13 09:03:17 -08:00
Daan
3010d5890f fix assertion 2024-12-12 20:27:46 -08:00
daanx
e43eb1f191 nicer debug output 2024-12-12 20:22:24 -08:00
daanx
623eaedf33 add debug output for page map; free tld on thread exit 2024-12-12 19:59:54 -08:00
daanx
118bd8c97f space out threads when searching for free pages 2024-12-12 16:37:31 -08:00
daanx
94ce342ea9 maintain pages set for arenas; improve arena load/unload 2024-12-11 22:06:25 -08:00
daanx
aed76f2910 wip: allow arena (re)loading 2024-12-11 20:34:23 -08:00
daanx
565656919e fix comments in types; fix guarded alignment bug 2024-12-11 13:04:37 -08:00
daanx
64c4181ffa better block alignment 2024-12-10 20:32:48 -08:00
daanx
c478ddaab4 fix MI_GUARDED build 2024-12-10 19:44:54 -08:00
daanx
d5ed0cc71e various improvements 2024-12-09 14:31:43 -08:00
daanx
88990cec2d merge from dev 2024-12-08 18:27:05 -08:00
daanx
c8607a8d01 remove os_tld and stats parameters to os interface 2024-12-08 17:56:13 -08:00
daanx
2084df3dde add dedicated meta data allocation for threads and tld 2024-12-08 12:20:54 -08:00
daanx
c33de86da3 check for running in a threadpool to disable page reclaim 2024-12-07 17:11:11 -08:00
daanx
bf42759d97 check heaptag on abandonded page allocation 2024-12-07 15:13:17 -08:00
daanx
9631b0d4d2 revise visiting arenas, better bitmap scanning 2024-12-07 14:03:51 -08:00
daanx
70115d8b8c small fixes 2024-12-06 23:25:53 -08:00
daanx
659a9dd51d fix page info size and order; atomic page flags 2024-12-06 22:37:59 -08:00
daanx
5a5943ad33 record max_clear bit 2024-12-06 21:03:33 -08:00
daanx
ec9c61c066 initial no more pairmap 2024-12-06 14:53:24 -08:00
daanx
bc67be4d79 small adjustments 2024-12-04 21:40:57 -08:00
daanx
afe9089152 more documentation; better pairmap find_and_set_to_busy, busy flag is now 0x10 2024-12-04 19:15:55 -08:00
daanx
bc7fe399b1 large bitmaps working; lock on arena_reserve 2024-12-03 23:35:33 -08:00