Daan Leijen
|
7c67114fd4
|
merge from dev
|
2024-06-03 18:14:44 -07:00 |
|
daanx
|
96b69d7ef6
|
fix leak where OS abandoned blocks were not always reclaimed
|
2024-06-03 17:28:14 -07:00 |
|
daanx
|
f02a0b3541
|
more aggressive reclaim from free for OS blocks
|
2024-06-03 14:05:57 -07:00 |
|
Daan
|
3f2b6e6df9
|
merge from dev
|
2024-06-03 11:34:54 -07:00 |
|
Daan
|
7e23576efa
|
remove old mi_abandoned_await_readers
|
2024-06-03 09:57:03 -07:00 |
|
Daan
|
f77adf4a18
|
merge from dev (visit abandoned, upstream of python/cpython#114133)
|
2024-06-02 17:03:13 -07:00 |
|
daanx
|
f9076a5cf8
|
use EFAULT if a target heap tag cannot be found on reclaim
|
2024-06-02 15:54:49 -07:00 |
|
daanx
|
5501f59f6c
|
only reclaim for exclusive heaps in their associated arena
|
2024-06-02 13:16:20 -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 |
|
Daan
|
65a0c82ac9
|
merge from dev (support for heap tag, upstream of python/cpython#113742
|
2024-05-19 08:10:35 -07:00 |
|
Daan
|
0c4041fa53
|
add support for custom heap and page tags, upstream of python/cpython#113742
|
2024-05-19 08:06:32 -07:00 |
|
Daan
|
4a26a4568e
|
fix out-of-bounds write on span free in huge segments
|
2024-05-16 14:26:05 -07:00 |
|
Daan
|
44b65b19df
|
remove pre_size parameter for slices
|
2024-05-16 13:30:33 -07:00 |
|
Daan
|
e8206e9f6f
|
merge from dev improved aligned allocation
|
2024-05-11 07:08:48 -07:00 |
|
Daan
|
7128db7bba
|
simplified aligned allocation; improved codegen; fix mi_good_size with padding included; add MI_MAX_ALIGN_GUARANTEE
|
2024-05-11 06:43:52 -07:00 |
|
Daan
|
83af243bca
|
merge from dev
|
2024-04-19 12:50:32 -07:00 |
|
Daan
|
09e91ec911
|
add assert for segment purges
|
2024-04-19 12:44:23 -07:00 |
|
Daan
|
bf5932c3c6
|
use better purging for segments_collect
|
2024-04-19 12:43:05 -07:00 |
|
Daan
|
2b7530e183
|
add segment_collect for forced heap_collect
|
2024-04-19 12:33:17 -07:00 |
|
Daan
|
35658681e9
|
purge segments on forced collect (issue #878)
|
2024-04-19 12:29:49 -07:00 |
|
Daan
|
32e065bb32
|
rename segment_thread_collect to segment_collect
|
2024-04-19 12:11:58 -07:00 |
|
Daan
|
78418b3d24
|
fix overflow of slice count, PR #877
|
2024-04-19 10:03:14 -07:00 |
|
daanx
|
630521e8db
|
merge from dev
|
2024-03-25 16:05:39 -07:00 |
|
Daan Leijen
|
460278f110
|
comments
|
2024-03-25 16:02:20 -07:00 |
|
Daan Leijen
|
c1d7d7f563
|
merge from dev
|
2024-03-25 15:32:56 -07:00 |
|
Daan Leijen
|
0022802177
|
commend and make at least 8 tries for reclaim
|
2024-03-25 15:25:04 -07:00 |
|
Daan Leijen
|
cc8d89a085
|
update comments
|
2024-03-25 07:35:49 -07:00 |
|
Daan Leijen
|
af3f2f9168
|
fix assertions and warnings on gcc
|
2024-03-24 22:32:32 -07:00 |
|
Daan Leijen
|
3c85983a35
|
merge from dev with new page fields (block_size and is_huge)
|
2024-03-24 22:12:33 -07:00 |
|
daanx
|
006ae2d055
|
add is_huge page flag to ensure the right page queue is returned (see #868)
|
2024-03-24 17:07:28 -07:00 |
|
Daan Leijen
|
b5665f0eec
|
add full block_size and page_start to page info
|
2024-03-24 14:17:17 -07:00 |
|
Daan Leijen
|
6688b45fbd
|
rename MI_ALIGNMENT_MAX to MI_BLOCK_ALIGNMENT_MAX for clarity
|
2024-03-24 10:57:02 -07:00 |
|
Daan Leijen
|
f141ca12a4
|
add extra runtime check to ensure we never insert large or huge pages in the segment free queue (issue #870)
|
2024-03-24 10:53:39 -07:00 |
|
Daan Leijen
|
6399dbdc30
|
merge from dev (new free.c)
|
2024-03-24 09:56:26 -07:00 |
|
Daan Leijen
|
4f809aadb7
|
use free field for expiration instead of used
|
2024-03-24 08:29:56 -07:00 |
|
Daan
|
2cca58dfc8
|
Merge branch 'dev' into dev-slice
|
2024-03-03 18:08:27 -08:00 |
|
Daan
|
da52048025
|
rename local to avoid warning in static build
|
2024-03-03 18:08:17 -08:00 |
|
daanx
|
abb8eab9b2
|
merge from dev
|
2024-03-03 17:43:52 -08:00 |
|
daanx
|
5fe83bf327
|
limit reclaim from free to half the segments to prevent a pure freeing thread to reclaim too many segments
|
2024-03-03 17:38:50 -08:00 |
|
daanx
|
5a2ed6d977
|
fix assertion
|
2024-03-02 18:27:06 -08:00 |
|
daanx
|
8e1f8f4d5c
|
Merge branch 'dev-abandon' into dev-slice-abandon
|
2024-03-02 18:25:09 -08:00 |
|
daanx
|
43d40704b9
|
keep threadid 0 for abandoned_next to preserve invariants
|
2024-03-02 18:24:53 -08:00 |
|
daanx
|
3090f23c25
|
fix return value of get_reclaim_tries
|
2024-03-01 18:59:13 -08:00 |
|
daanx
|
2c433a2b23
|
merge from dev-abandon
|
2024-03-01 18:54:29 -08:00 |
|
daanx
|
500d2ad1fd
|
ensure non-arena segments are force purged on abandonment; make non-arena reclaim atomic
|
2024-03-01 18:47:59 -08:00 |
|
daanx
|
280123bd5c
|
purge on page free as well
|
2024-03-01 15:25:57 -08:00 |
|
daanx
|
f6320bd3be
|
merge from dev-abandon
|
2024-03-01 15:15:24 -08:00 |
|
daanx
|
c4f1f2e079
|
make reclaim tries a percentage of the abandoned count
|
2024-03-01 14:57:46 -08:00 |
|
daanx
|
e5d1cb3092
|
merge from dev-abandon
|
2024-03-01 10:56:43 -08:00 |
|