daanx
b7dd5d6564
add extra assertions to check that blocks are always aligned to MI_MAX_ALIGN_SIZE
2024-06-17 16:17:03 -07:00
Danny Lin
e8b5e51b00
Change macOS mmap tag to fix conflict with IOAccelerator
...
Tag 100 is assigned to "IOAccelerator" (the GPU driver stack on Apple silicon), which makes for confusing output when debugging.
To avoid conflicts, use a tag in the reserved application-specific range from 240–255 (inclusive).
All assigned tags: 94d3b45284/osfmk/mach/vm_statistics.h (L773-L775)
2024-06-10 15:06:39 -07:00
Daan
03020fbf81
fix count/size order in mi_heap_alloc_new_n, issue #906
2024-06-04 17:28:04 -07:00
Daan
d68a7fc3e6
update docs
2024-06-04 17:04:33 -07:00
Daan
8f481d34dd
update docs
2024-06-04 16:54:22 -07:00
Daan
98058eed14
add heap tag to area descriptor
2024-06-04 16:54:06 -07:00
Daan
8b7b3e3754
add docs svg's
2024-06-04 14:59:42 -07:00
Daan
ab1cdbbde3
add search js files for docs
2024-06-04 14:58:58 -07:00
Daan
dee7faa6d8
add js for docs
2024-06-04 14:56:49 -07:00
Daan
272d3368a0
update aligned documentation
2024-06-04 14:50:55 -07:00
daanx
20424dbfa2
update doxyfile
2024-06-04 14:38:23 -07:00
daanx
e64684c9f9
update documentation
2024-06-04 14:37:16 -07:00
Daan
08fa864605
rename arena-abandoned to arena-abandon
2024-06-03 21:30:02 -07:00
Daan
e0baf882bb
reduce UBSAN parameters to stay within pipeline limits
2024-06-03 21:26:38 -07:00
Daan
b123bbe6c0
increase iterations for tsan test
2024-06-03 21:13:34 -07:00
Daan
0c322c5566
add reference to page_malloc_zero in C++ build
2024-06-03 21:10:05 -07:00
Daan
cf10af7824
re-enable tsan test in azure pipelines
2024-06-03 21:07:48 -07:00
daanx
b1188ea336
fix potential race on subproc field in the segment
2024-06-03 20:57:00 -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
3f69119936
don't reset a segment thread id when iterating
2024-06-03 18:25:22 -07:00
daanx
065f46cefb
don't reset a segment thread id when iterating
2024-06-03 18:19:45 -07:00
daanx
537c51e227
fix vs 2022 ide
2024-06-03 18:06:53 -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
daanx
1a9cf7bce2
switch between OS and arena allocation in stress test
2024-06-03 11:43:35 -07:00
Daan
7e23576efa
remove old mi_abandoned_await_readers
2024-06-03 09:57:03 -07:00
Daan
2ed97f3ebb
whitespace
2024-06-03 09:55:11 -07:00
Daan
f17ddc3395
increase thread data cache to32 entries
2024-06-03 09:55:02 -07:00
Daan
84334e480a
decrease meta allocation zone to 4k (to reduce .bss)
2024-06-03 09:54:41 -07:00
Daan
58fbb67963
fix c++ compilation
2024-06-03 09:25:53 -07:00
Daan
6b15342709
fix pthread initalization of mutexes
2024-06-02 16:41:07 -07:00
Daan
768872e4e0
typo in stress test
2024-06-02 16:24:13 -07:00
daanx
e4c8f42bb6
always include sys/prctl.h on linux to disable THP if large_os_pages are not enabled
2024-06-02 16:10:08 -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
f87ec74bb3
reduce delayed output from redirection to 16KiB to reduce the .bss size
2024-06-02 15:10:17 -07:00
daanx
e8f4bdd1ea
fix cast; make segment map static
2024-06-02 14:59:37 -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
f7fe5bf20e
optimize heap walks, by Sam Gross, upstream of python/cpython#114133
2024-06-02 10:28:30 -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
Daan Leijen
f93fb900b7
move lock code to atomic.h
2024-06-01 17:25:45 -07:00
Daan Leijen
0b3cd51249
add initial primitive api for locks
2024-06-01 16:45:20 -07:00
daanx
d9aa19a763
add support for sub-processes (to supportpython/cpython#113717 )
2024-06-01 15:57:18 -07:00