Commit graph

179 commits

Author SHA1 Message Date
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
daanx
e5fdd6e110 wip: initial large bitmaps 2024-12-03 22:43:14 -08:00
daanx
8d9c725482 increase MAX_OBJ_SLICES to a full chunk (32MiB) 2024-12-03 17:27:43 -08:00
daanx
666c089fc8 revise free reclaim; ensure unown cannot race with a free 2024-12-03 10:51:13 -08:00
daanx
bd5f7de3f4 can run basic test 2024-12-02 20:21:35 -08:00
daanx
fe5a314114 add base and size to OS memid 2024-12-02 19:31:36 -08:00
daanx
5e95ebc7a0 fix free stats 2024-12-02 17:46:41 -08:00
daanx
c9abfe8253 wip: can run mstress 2024-12-02 16:24:40 -08:00
daanx
d96c134566 wip: initial version with eager abandonment 2024-12-02 16:01:45 -08:00
daanx
69ac69abac wip: use epoch with 512bit chunks 2024-12-02 00:31:08 -08:00
daanx
1d7a9f62a5 bug fixes 2024-12-01 12:54:16 -08:00
daanx
8f2a5864b8 pass all debug tests 2024-11-30 22:54:57 -08:00
daanx
9ebe941ce0 first version that passes the make test 2024-11-30 20:21:32 -08:00
daanx
f8d04dc2bc compile with clang and gcc 2024-11-30 12:41:11 -08:00
daanx
d15e83030e wip: rename arena blocks to slices 2024-11-30 12:16:41 -08:00
daanx
188294a0df wip: bug fixes 2024-11-30 11:12:39 -08:00
daanx
9d904e8643 wip: bug fixes 2024-11-30 10:39:30 -08:00
daanx
978d844e15 wip: bug fixes 2024-11-29 20:23:39 -08:00
daanx
0f635413d6 wip: can run initial test 2024-11-29 17:50:37 -08:00
daanx
9603fe8b50 can compile without missing functions 2024-11-29 16:27:58 -08:00
daanx
68f5fb2f4b wip: further progress on segment removal; arena allocation 2024-11-29 15:08:06 -08:00
daanx
46afcbe06c wip: further progress on segment removal; arena allocation 2024-11-29 14:28:34 -08:00
daanx
441d4fed9f wip: further progress on removing segments 2024-11-29 10:40:18 -08:00
daanx
0e76fe3798 add address hint to primitive allocation API 2024-11-16 16:57:37 -08:00
Daan
08fa864605 rename arena-abandoned to arena-abandon 2024-06-03 21:30:02 -07:00
daanx
76b0873ce2 fix asan tracking by explicitly setting memory to undefined before a free 2024-06-03 20:28:47 -07:00
daanx
f7ba9d9da0 refactor arena-abandoned to be an include for backward compat with existing build scripts 2024-06-03 18:04:59 -07:00
daanx
800034cb99 refactor arena abandonment in a separate file 2024-06-03 17:58:34 -07:00
daanx
96b69d7ef6 fix leak where OS abandoned blocks were not always reclaimed 2024-06-03 17:28:14 -07:00
daanx
00dacba91f maintain count of the abandoned os list 2024-06-03 15:44:25 -07:00
daanx
3333f776f9 push os abandoned blocks at the tail end 2024-06-03 15:37:05 -07:00
daanx
a04905c88b revisit atomic reclaim for abandoned segments 2024-06-03 15:20:35 -07:00
daanx
f02a0b3541 more aggressive reclaim from free for OS blocks 2024-06-03 14:05:57 -07:00
Daan
84334e480a decrease meta allocation zone to 4k (to reduce .bss) 2024-06-03 09:54:41 -07:00
Daan
6b15342709 fix pthread initalization of mutexes 2024-06-02 16:41:07 -07:00
daanx
a964322a21 revise the segment map to only apply to OS allocated segments and reduce the .BSS footprint 2024-06-02 14:46:59 -07:00
daanx
5501f59f6c only reclaim for exclusive heaps in their associated arena 2024-06-02 13:16:20 -07:00
daanx
635d626c82 fix leak in abandoned block visiting 2024-06-02 10:43:41 -07:00
daanx
855e3b2549 add support to visit _all_ abandoned segment blocks per sub-process, upstream for python/cpython#114133 2024-06-02 09:41:12 -07:00
daanx
8f874555d5 add initial support for visiting abandoned segments per subprocess, upstream for python/cpython#114133 2024-06-02 07:47:08 -07:00
daanx
d9aa19a763 add support for sub-processes (to supportpython/cpython#113717) 2024-06-01 15:57:18 -07:00
daanx
f87a4c15b2 increase max arenas 2024-06-01 13:41:13 -07:00
daanx
aeee7907a0 fix spelling 2024-06-01 13:20:28 -07:00
daanx
616db104a9 prevent UB in arena reservation 2024-06-01 12:29:48 -07:00