Commit graph

244 commits

Author SHA1 Message Date
Daan Leijen
a447a1a297 merge from dev 2025-03-02 17:16:28 -08:00
Daan Leijen
58d13f6a4f collect every N generic calls 2025-03-02 17:06:25 -08:00
Daan Leijen
6e0af52c95 merge new statistics from dev 2025-03-02 16:08:50 -08:00
Daan Leijen
09ad6d2819 initial statistics api 2025-03-02 15:34:37 -08:00
Daan Leijen
1b749ea7d8 clean up statistics 2025-03-01 20:51:44 -08:00
daanx
9b7914fd3f fix bug in mi_page_free_collect_partly where the tail of the free list was kept 2025-02-08 09:35:21 -08:00
daanx
7931678899 further optimize mi_bchunk_try_find_and_clearNX 2025-02-06 22:59:14 -08:00
daanx
4c562f392a allow page reclaim on free to the originating heap also within a threadpool 2025-02-06 11:53:22 -08:00
daanx
5aa679cdee make page_reclaim_on_free 0 by default; but allow reclaim_on_free if the page was originally in this heap (just as in v2 with the full queue) 2025-02-05 15:41:37 -08:00
daanx
1e0801dcea call page_free_collect less often from a page search 2025-02-05 14:04:11 -08:00
Daan Leijen
8fc8da5d81 use thread local stats for abandoned statistics to reduce contention 2025-02-04 17:54:49 -08:00
Daan Leijen
db7930f961 avoid atomics in mi_free_try_collect_mt 2025-02-04 14:58:08 -08:00
daanx
dd4b6fc078 update options 2025-01-31 11:54:51 -08:00
Daan Leijen
57eee51f46 rename full_page_retain to page_full_retain for consistency with the option 2025-01-07 21:42:30 -08:00
Daan Leijen
dd4b4a36b1 use standard heap_collect every 10k generic allocations, disable reclaim_on_free by default 2025-01-07 17:42:42 -08:00
daanx
d3d551ab9b merge from dev 2025-01-04 22:02:50 -08:00
daanx
de0324e1a7 return length from _mi_snprintf 2025-01-04 22:01:28 -08:00
daanx
18bc6d9056 Merge branch 'dev' into dev3 2025-01-04 17:45:03 -08:00
daanx
a415940604 move singleton pages to the full queue at allocation time 2025-01-04 17:44:56 -08:00
daanx
24b8384f80 remove is_expandable requirement on page candidates 2024-12-24 20:23:37 -08:00
daanx
4d1d3471cf rename page options 2024-12-24 17:14:53 -08:00
daanx
1e1a12bf3c fix rounding issue with huge size allocations 2024-12-24 17:07:11 -08:00
daanx
d862e57955 fix huge page allocation size 2024-12-24 16:39:54 -08:00
daanx
ad6f48f3e4 fix assertion for huge pages 2024-12-24 15:00:05 -08:00
daanx
d21114b5f2 improve page commit on demand 2024-12-24 11:37:52 -08:00
daanx
ba68810333 commit page on demand 2024-12-23 18:33:37 -08:00
daanx
dd1b37c9f8 fix recursive tls access on macOS <= 14 2024-12-22 21:03:03 -08:00
daanx
db82baf1a8 cleanup, some renaming 2024-12-22 18:09:16 -08:00
daanx
773fe7ae5b support full secure build 2024-12-22 17:25:58 -08:00
daanx
d7d626cbfa enable collecting from the full page queue 2024-12-21 16:24:56 -08:00
daanx
da17a59bdb re-add deferred free and heap retired collect 2024-12-21 15:53:50 -08:00
daanx
7085b6cec3 limit candidate search to 4 2024-12-21 15:38:27 -08:00
daanx
dece8a587b make stats part of a subproc 2024-12-21 10:43:08 -08:00
daanx
a5b7d7f264 subprocesses own arena's 2024-12-20 21:38:31 -08:00
Daan Leijen
278f1ff556 merge from dev; match test-stress 2024-12-20 14:00:02 -08:00
Daan Leijen
f3d83e5fa6 insert full pages at the end of the queue; only override page candidate if the page is not too full 2024-12-20 13:55:31 -08:00
Daan Leijen
df82338d8a don't override a page candidate with a page that is too full 2024-12-20 13:04:30 -08:00
Daan Leijen
5614c5052e don't prefer high used candidate if it is too full 2024-12-20 11:56:04 -08:00
daanx
623eaedf33 add debug output for page map; free tld on thread exit 2024-12-12 19:59:54 -08:00
daanx
ccf5e36e6b use frac 8 for reclaim_on_free and reabandon; halve full_page_retain if running in a threadpool 2024-12-11 16:26:39 -08:00
Daan
8f5449d271 various fixes for test pipeline 2024-12-09 15:39:15 -08:00
daanx
c8607a8d01 remove os_tld and stats parameters to os interface 2024-12-08 17:56:13 -08:00
daanx
67cc424ada delete old files 2024-12-08 09:19:05 -08:00
daanx
70115d8b8c small fixes 2024-12-06 23:25:53 -08:00
daanx
7443ee317e tune free-ing and abandoning 2024-12-05 17:00:23 -08:00
daanx
0616ee151e change to full_page_retain 2024-12-05 11:29:25 -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
3fc2c8e279 fix assertions 2024-12-03 11:06:07 -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