Commit graph

80 commits

Author SHA1 Message Date
daanx
a92f86dc73 add page_cross_thread_max_reclaim option 2025-05-13 14:12:22 -07:00
daanx
3ef6784455 destroy the page map as well if MIMALLOC_DESTROY_ON_EXIT is set; see issue #1041 2025-05-12 22:05:15 -07:00
Daan Leijen
36e1cbfdbc change default page_reclaim_max and change reclamation test to potentially address perf regresion in mimalloc v3 with respect to v2 -- see also https://github.com/leanprover/lean4/pull/7786 2025-05-12 18:02:42 -07:00
Daan
61f3ffd2a6 Merge branch 'dev' into dev3 2025-04-13 19:57:28 -07:00
Daan
fae61ed946 fix assertion in mi_free_size (issue #754) 2025-04-13 19:56:49 -07:00
Daan
3bc90fbd71 Merge branch 'dev' into dev3 2025-04-13 19:52:45 -07:00
Daan
7543e8989a validate pointer before assertion in mi_free_size (issue #754) 2025-04-13 19:49:47 -07:00
Daan
57a9c1656f add comment 2025-03-31 11:27:31 -07:00
Daan
71b3e16171 fix invalid pointer detection in release mode (issue #1051 and #1053) 2025-03-31 10:54:12 -07:00
Daan
d5dface6fb merge from dev improved statistics 2025-03-21 19:49:02 -07:00
Daan
a077311a5e improve tracking of malloc_requested count 2025-03-21 19:40:44 -07:00
Daan Leijen
6e0af52c95 merge new statistics from dev 2025-03-02 16:08:50 -08:00
Daan Leijen
1b749ea7d8 clean up statistics 2025-03-01 20:51:44 -08:00
daanx
6fce7b90a4 reduce object class sizes (/8), add max reclaim queue size 2025-02-28 16:51:59 -08:00
daanx
44a4c83fbf maintain count in pagequeue for constant time test in free.c 2025-02-11 13:56:58 -08:00
Daan
89d629317f limit page_reclaim to page queues of less than 4 pages; make page_commit_on_demand 0 by default. 2025-02-10 12:45:38 -08:00
daanx
bc7fe059a6 improve performance of mi_free_collect_mt by specializing mi_page_unown 2025-02-08 09:35:52 -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
Daan
515047b676 improve free on macos 2025-02-05 20:55:21 -08:00
daanx
1657bfb453 clarify control flow and comments in page reclaim_on_free 2025-02-05 16:01:45 -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
b0c8d86c41 refactor mi_free_try_collect_mt 2025-02-04 15:03:27 -08:00
Daan Leijen
db7930f961 avoid atomics in mi_free_try_collect_mt 2025-02-04 14:58:08 -08:00
Daan Leijen
59eeeadc34 only allow page_reclaim_on_free for small block pages 2025-02-04 12:26:21 -08:00
Daan Leijen
274bcb61db update option names 2025-01-31 12:11:25 -08:00
Daan Leijen
061ef80de7 clarify allow_destroy 2025-01-07 21:39:11 -08:00
Daan Leijen
46ae913f22 bump version to 3.0.1 for further development 2025-01-03 18:43:38 -08:00
Daan Leijen
6099f76c8c nicer logic in free 2025-01-03 14:26:32 -08:00
Daan Leijen
b6adbbca0c combine flags and xthread_id 2025-01-03 13:15:46 -08:00
daanx
f72ac7a5aa add attr_noexept for better codegen on msvc 2024-12-26 10:28:36 -08:00
daanx
db82baf1a8 cleanup, some renaming 2024-12-22 18:09:16 -08:00
daanx
93fa8d895a revert back to flat address map 2024-12-22 12:18:53 -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
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
d5ed0cc71e various improvements 2024-12-09 14:31:43 -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
659a9dd51d fix page info size and order; atomic page flags 2024-12-06 22:37:59 -08:00
daanx
7443ee317e tune free-ing and abandoning 2024-12-05 17:00:23 -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
833b091ff9 can run the full test suite 2024-12-02 20:25:44 -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
2f789aae9a wip: cannot compile 2024-12-01 16:26:59 -08:00