Commit graph

151 commits

Author SHA1 Message Date
daanx
44a4c83fbf maintain count in pagequeue for constant time test in free.c 2025-02-11 13:56:58 -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
Daan Leijen
db7930f961 avoid atomics in mi_free_try_collect_mt 2025-02-04 14:58:08 -08:00
Daan Leijen
274bcb61db update option names 2025-01-31 12:11:25 -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
061ef80de7 clarify allow_destroy 2025-01-07 21:39:11 -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
Daan Leijen
84f2038a2c Merge branch 'dev3' into dev3-bin 2024-12-31 14:28:25 -08:00
Daan Leijen
9665d604d3 merge from dev 2024-12-31 14:28:09 -08:00
Daan Leijen
2d94df860b fix potentially warning on gcc (pr #935) 2024-12-30 11:44:03 -08:00
Daan Leijen
9f70ce5fcd avoid accessing heap->tld after running thread_done (pr #974) 2024-12-30 11:34:02 -08:00
daanx
50d22cf092 Merge branch 'dev3' into dev3-bin 2024-12-24 17:15:01 -08:00
daanx
4d1d3471cf rename page options 2024-12-24 17:14:53 -08:00
daanx
7c331a967b merge from dev3 2024-12-24 11:42:02 -08:00
daanx
d21114b5f2 improve page commit on demand 2024-12-24 11:37:52 -08:00
daanx
da2ab86e9f Merge branch 'dev3' into dev3-bin 2024-12-22 22:31:26 -08:00
daanx
dd1b37c9f8 fix recursive tls access on macOS <= 14 2024-12-22 21:03:03 -08:00
daanx
1eea4309b6 Merge branch 'dev3' into dev3-bin 2024-12-22 18:09:27 -08:00
daanx
db82baf1a8 cleanup, some renaming 2024-12-22 18:09:16 -08:00
daanx
6b97830f6a merge from dev3 2024-12-22 14:40:46 -08:00
daanx
1e2221f512 fix signed/unsigned; fix heap_destroy assert failure 2024-12-21 19:28:53 -08:00
daanx
bfc498e54a Merge branch 'dev3' into dev3-bin 2024-12-21 16:25:04 -08:00
daanx
d7d626cbfa enable collecting from the full page queue 2024-12-21 16:24:56 -08:00
daanx
5de5550c63 merge from dev3 2024-12-21 15:52:15 -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
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
daanx
3746bf79ed small fixes; max object size 1/8th of a pages 2024-12-19 21:30:03 -08:00
daanx
3330d4353a remove maxaccessed from general bitmaps 2024-12-15 19:15:00 -08:00
daanx
d5c4a16e58 lower full page retain more aggressively in a threadpool 2024-12-12 17:57:36 -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
daanx
64eea823e4 use always abandon on heap delete 2024-12-11 09:24:38 -08:00
daanx
91215a5512 ensure incompatible heaps are not absorbed 2024-12-11 09:20:34 -08:00
daanx
24d3c1bc14 heap meta data always uses mi_meta_zalloc 2024-12-11 09:16:28 -08:00
Daan
13be5d6740 use non-null tld in heap_init 2024-12-10 15:11:46 -08:00
Daan
f37aff6ee2 fix for macOS 14 and earlier 2024-12-09 22:27:40 -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
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
d96c134566 wip: initial version with eager abandonment 2024-12-02 16:01:45 -08:00
daanx
55b70f1588 wip 2024-11-30 14:00:07 -08:00
daanx
f8d04dc2bc compile with clang and gcc 2024-11-30 12:41:11 -08:00
daanx
68f5fb2f4b wip: further progress on segment removal; arena allocation 2024-11-29 15:08:06 -08:00
daanx
441d4fed9f wip: further progress on removing segments 2024-11-29 10:40:18 -08:00
daanx
8ba1879073 add sampling for guarded objects 2024-11-17 00:06:16 -08:00