133 Commits

Author SHA1 Message Date
Daan
54c5af5862 Merge branch 'dev' into dev-slice 2024-11-17 23:37:32 -08:00
daanx
9cae0d31cd Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev 2024-11-17 23:30:19 -08:00
daanx
54ee4e7632 merge from dev 2024-11-17 23:29:21 -08:00
daanx
d57cb0765d add guarded objects that are sampled (and fit a size range). guarded sample rate etc can be set per heap as well as defaulted with options 2024-11-17 22:45:09 -08:00
daanx
8ba1879073 add sampling for guarded objects 2024-11-17 00:06:16 -08:00
daanx
8b6017d976 rename mi_debug_guarded_ to mi_guarded_ 2024-11-16 22:42:32 -08:00
daanx
498c92e348 update guarded implementation to use block tags 2024-11-16 21:15:50 -08:00
Daan Leijen
c57e9b855c fix std malloc compile of the stress test 2024-11-16 19:43:13 -08:00
Daan
e58e41c8da merge from dev 2024-10-21 05:07:12 -07:00
Daan
db3d8485d2 increase TSAN test to 400 iterations 2024-08-21 17:13:51 -07:00
Daan
532141fda2 Merge branch 'dev' into dev-slice 2024-08-21 15:39:31 -07:00
Daan
51025f1ac2 set lower parameters for guarded test 2024-08-21 15:29:32 -07:00
Daan
64f3afdda4 merge from dev 2024-06-03 21:31:36 -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
daanx
f79ea2461a merge from dev 2024-06-03 21:01:23 -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
Daan Leijen
7c67114fd4 merge from dev 2024-06-03 18:14:44 -07:00
daanx
f02a0b3541 more aggressive reclaim from free for OS blocks 2024-06-03 14:05:57 -07:00
daanx
043df00a97 Merge branch 'dev' into dev-slice 2024-06-03 11:43:49 -07:00
daanx
1a9cf7bce2 switch between OS and arena allocation in stress test 2024-06-03 11:43:35 -07:00
Daan
f77adf4a18 merge from dev (visit abandoned, upstream of python/cpython#114133) 2024-06-02 17:03:13 -07:00
Daan
768872e4e0 typo in stress test 2024-06-02 16:24:13 -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
Daan Leijen
0b3cd51249 add initial primitive api for locks 2024-06-01 16:45:20 -07: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
2845f0cab3 merge from dev-abandon 2024-03-01 16:26:46 -08:00
daanx
16c0948ee5 improve display of arenas and contained blocks 2024-03-01 16:24:28 -08:00
daanx
f57c9e16bd merge from dev-abandon 2024-02-29 18:34:50 -08:00
daanx
931d523dcc update mstress to let the main thread participate 2024-02-29 18:17:58 -08:00
daanx
eff7940f30 merge from dev 2023-04-18 17:54:07 -07:00
daanx
173382ef60 is_zero review; fix asan check 2023-04-18 17:52:16 -07:00
daanx
fb07276d48 merge from dev 2023-04-18 17:33:01 -07:00
daanx
4d976270eb review is_zero flag 2023-04-18 17:18:39 -07:00
daanx
2f878354f4 add arena contains check for valid pointers 2023-04-18 14:13:55 -07:00
daanx
a200f013bf Merge branch 'dev' into dev-slice 2023-04-17 12:14:38 -07:00
Daan Leijen
72f3ba95a8 reduce iterations under tsan 2023-04-17 12:08:22 -07:00
daanx
940e890dd0 Merge branch 'dev-reset' into dev-slice-reset 2023-04-04 19:18:58 -07:00
daanx
b6a395b5ec reset stats more early for mstress 2023-04-04 19:18:47 -07:00
Daan Leijen
c4220e43b6 merge from dev 2023-03-29 16:24:55 -07:00
Daan Leijen
dd7b99d477 apply some spelling fixes from PR #710 2023-03-29 16:10:01 -07:00
Daan Leijen
7ec798e197 make test-stress match the one in dev 2023-03-05 22:54:10 -08:00
Daan
e4b9ea918f merge from dev 2023-03-04 14:52:30 -08:00
Daan
cb4fc2c792 reset stats for stress test when using mimalloc 2023-03-04 09:17:35 -08:00
Daan Leijen
92ffc25d79 merge from dev 2022-12-19 17:08:45 -08:00
Johannes Schindelin
745a34f475 Fix whitespace
This mostly deletes trailing spaces.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2022-12-03 00:24:20 +01:00
Daan Leijen
9e56567d23 fix decommit for huge objects 2022-11-23 09:50:29 -08:00
Daan Leijen
487b401b26 Merge branch 'dev' into dev-slice 2022-04-19 18:43:32 -07:00
Daan Leijen
d69d4c861f add zero parameter to primitive allocation to improve codegen for calloc etc 2022-04-19 18:32:35 -07:00
Daan
bd2ac3c92e collect segment cache on mi_collect 2022-02-02 16:17:21 -08:00
daan
09e59e0610 use size_t instead of uintptr_t where appropiate 2021-11-13 15:13:16 -08:00
daan
49c75a3157 wip: increase commit mask resolution 2021-11-09 20:19:31 -08:00
Daan Leijen
5869c85749 merge from dev 2021-06-17 19:18:57 -07:00
Daan Leijen
a83bca72b3 fixes for M1; disable interpose use zones; fix pedantic warnings 2021-06-17 19:15:09 -07:00
Daan Leijen
73c339235c collect in debug mode in stress test 2021-04-28 16:12:32 -07:00
Daan Leijen
10ce8839fa merge from dev 2021-04-28 13:23:46 -07:00
Jim Huang
5940d3bcce Bump copyright date
Each source file has been changed according to relevant Git activities.
2021-04-24 16:35:11 +00:00
Daan Leijen
e314699ee0 add debug view of arenas 2021-01-28 17:32:42 -08:00
Daan Leijen
3c70317393 merge from dev 2020-12-15 16:07:23 -08:00
Daan Leijen
bb386025b5 update override on macOS with interpose of malloc_default_zone (issues #313) 2020-12-15 16:03:54 -08:00
Daan Leijen
b803095b83 merge from dev 2020-12-10 13:17:56 -08:00
David Carlier
e6c2fd44fc DragonFly support fix (for 5.8.x and forward).
The pthread slot approach is somewhat buggy (pretty visible
 with the stress unit test which segfault more or less randomly,
 but the stats never show up).
Using the default approach instead, the test passes eventough
 it s relatively slow (e.g 1.5 sec on FreeBSD vs 4.5 on DragonFly with same
 machine).
2020-10-22 11:15:37 +01:00
daan
7e96634da4 merge from dev 2020-10-11 13:38:12 -07:00
daan
7114d5424a fix statistics to include padding correctly (issue #301) 2020-10-11 13:14:43 -07:00
daan
fbaa70e1eb increase default test load to 25% to increase azure pipeline test load 2020-09-14 11:01:17 -07:00
daan
fa01875eb2 merge from dev (with is_pinned/is_large separation) 2020-09-08 17:54:58 -07:00
daan
364674185e add option to limit OS allocation and only allow allocation from arenas 2020-09-08 16:56:51 -07:00
daan
371532ff02 merge from dev 2020-09-07 21:43:05 -07:00
daan
c7272afa9a add mi_reserve_os_memory/mi_manage_os_memory; allow arena allocations to cross multiple bitmap fields 2020-09-07 21:34:34 -07:00
daan
36da7e91c5 Merge branch 'dev' into dev-slice 2020-09-05 18:17:22 -07:00
daan
f09549c98f use main stats for thread count 2020-09-05 18:00:36 -07:00
daan
0d0b5e3fad restore stress workload for windows pipeline 2020-09-05 11:19:35 -07:00
daan
78f1f9bd5e reduce stress workload for windows pipeline 2020-09-05 11:16:40 -07:00
daan
03071dec0f merge from dev-atomic with new atomic interface 2020-09-03 12:13:09 -07:00
daan
900c97664a merge from dev-atomic 2020-09-03 09:47:01 -07:00
daan
b4825372ab small compilation warning fixes (extra semicolon etc) 2020-08-29 19:30:38 -07:00
daan
a468430772 strengthen memory order of bit operations; insert memory fences 2020-07-26 14:19:30 -07:00
daan
1f396e64a0 merge from dev 2020-03-16 16:41:21 -07:00
daan
b241be7075 reenable mimalloc in the stress test 2020-02-02 22:08:33 -08:00
daan
f3c47c7c91 improved malloc zone handling on macOSX (not working yet) 2020-02-02 21:03:09 -08:00
daan
0989562c2d add initial fast tls for macOSX 2020-02-01 16:57:00 -08:00
daan
a169cf0e3f merge dev-exp; add pthread TLS support for macOSX 2020-02-01 14:10:10 -08:00
daan
03b363a1c2 first working tls on macOS using interpose; still slow 2020-01-29 22:46:44 -08:00
daan
b50bec463d merge from dev-exp; better abandoned reclamation 2020-01-27 22:12:23 -08:00
daan
19a0d9dfa0 clean up stress test 2020-01-25 12:51:56 -08:00
daan
5e32d00aab add visit count to abandoned to limit list length 2020-01-25 12:26:08 -08:00
daan
b31bc52618 add cache alignment directives for contended variables 2020-01-24 19:02:13 -08:00
daan
e070eba112 fix tagged null encoding, search segment cache before reclaim 2020-01-24 16:31:18 -08:00
daan
8cf4882a85 fix linux build 2020-01-24 10:38:25 -08:00
daan
8b1520f5c1 make stress test deterministic 2020-01-23 21:53:28 -08:00
daan
58fdcbb0cd fix bug in collect where has_page was not set on free pages 2020-01-23 21:37:14 -08:00
daan
f8ab4bd7dc add leak test 2020-01-23 19:49:32 -08:00
daan
66818bf632 use atomic yield on delayed-freeing; clarify code 2020-01-23 09:57:55 -08:00
daan
394a7a92ab merge from dev 2020-01-20 19:06:08 -08:00
daan
9d7ac76d93 fix compilation under Intel C compiler (icc) 2020-01-19 18:35:45 -08:00