2125 Commits

Author SHA1 Message Date
daanx
500d2ad1fd ensure non-arena segments are force purged on abandonment; make non-arena reclaim atomic 2024-03-01 18:47:59 -08:00
daanx
16c0948ee5 improve display of arenas and contained blocks 2024-03-01 16:24:28 -08:00
daanx
f5f61a65f5 bump version to 1.8.4 2024-03-01 15:14:39 -08:00
daanx
c4f1f2e079 make reclaim tries a percentage of the abandoned count 2024-03-01 14:57:46 -08:00
daanx
cf8f73098e start abandoned search randomized 2024-03-01 10:51:18 -08:00
daanx
71bcf1c76b maintain abandoned_count more robustly 2024-03-01 10:31:58 -08:00
daanx
1b3eb8ef28 quick exit from try_reclaim if no abandoned segments 2024-02-29 19:17:24 -08:00
daanx
931d523dcc update mstress to let the main thread participate 2024-02-29 18:17:58 -08:00
daanx
9f9305d44b use non-primitive heap default 2024-02-29 17:43:52 -08:00
daanx
d34d8f0f65 fix signed comparison 2024-02-29 15:39:47 -08:00
daanx
64edbc92dd allow abandoned segment reclaim on a free 2024-02-29 14:58:59 -08:00
daanx
bdda13b880 track abandoned segments in an arena bitmap instead of with a list 2024-02-29 14:27:28 -08:00
daanx
8f353d8005 set initially_zero for arena_static_zalloc 2024-02-29 12:03:28 -08:00
daanx
7020ed5e52 do not purge if purge delay is negative 2024-02-29 11:26:03 -08:00
David Carlier
388d1aa9bd new Linux/Android option proposal.
Allowing to disable transparent huge pages on Linux/Android, so
we avoid affecting the whole system (such as /sys/kernel/mm/transparent_hugepage/enabled).
2023-07-14 21:55:30 +01:00
Daan Leijen
36ee5f9024 avoid warning on newer clang 2023-06-30 12:21:01 -07:00
Daan Leijen
1325ee640a avoid warning on newer clang 2023-06-30 12:16:38 -07:00
daanx
cfacbacaba fix zero initialization in mi_arena_meta_zalloc, issue #750 2023-05-19 21:18:40 -07:00
daanx
7563ab97ed fix alignment in meta_zalloc; issue #749 2023-05-19 21:15:03 -07:00
daanx
814dac26a1 add KiB to size options 2023-05-19 18:00:46 -07:00
daanx
c1218883a4 more format specifiers for _mi_vsnprintf 2023-05-19 17:48:07 -07:00
daanx
7fda289cbd small fixes 2023-05-19 12:07:07 -07:00
daanx
e10467f673 add libc primitives to reduce dependencies 2023-05-19 11:57:10 -07:00
daanx
4a85f32f8e add libc.c source file 2023-05-19 10:24:39 -07:00
daanx
d7a72c4912 fix thread data leak; issue #748 2023-05-19 09:12:46 -07:00
daanx
86d1585c53 Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev 2023-05-19 09:09:02 -07:00
Daan Leijen
d221526a4a add minject options list to the readme 2023-05-14 17:46:29 -07:00
Daan
e74159486b remove deprecated from description (issue #737) 2023-04-25 10:21:34 -07:00
daanx
a0bd338d96 undeprecate MI_INSTALL_TOPLEVEL (issue #737) 2023-04-25 08:25:50 -07:00
daanx
2531f5708b update minject; possible fix for issue #734 2023-04-24 22:30:36 -07:00
Daan
53433225d3 update readme 2023-04-24 11:33:12 -07:00
Daan
f181afbc57 update readme 2023-04-24 11:32:05 -07:00
Daan
698158075b update readme 2023-04-24 11:31:11 -07:00
Daan
eef8ca1041 update readme 2023-04-24 11:29:05 -07:00
Daan
40f99ce285 update readme 2023-04-24 11:26:13 -07:00
Daan
4812436776 update readme 2023-04-24 11:17:46 -07:00
daanx
b66e3214d8 be more strict on initially_zero for arena allocation v1.8.2 2023-04-24 09:08:12 -07:00
daanx
632edf9996 rename was_zero/committed to initially_zero/committed 2023-04-24 09:03:43 -07:00
daanx
0bb5cecbc2 use most performant reset on Linux (MADV_FREE) and Windows (MEM_RESET) as we use the precise decommit by default for purging anyways 2023-04-24 08:56:42 -07:00
daanx
7e4e545060 update readme for options and upcoming release 2023-04-24 08:50:37 -07:00
daanx
0ceef8e728 add fix for aligned_alloc override on musl; hopefully does not break Conda builds. issue #733 2023-04-24 08:15:42 -07:00
daanx
88a8b13782 revise unix decommit 2023-04-23 20:53:27 -07:00
daanx
bfe2651ec9 revise decommit on linux in debug/secure mode 2023-04-23 20:32:22 -07:00
daanx
4b2f6448cb fix asan memory tracking for zero initialized memory 2023-04-23 19:45:29 -07:00
daanx
7f93bf02c9 be explicit about memory tracking in os.c 2023-04-23 16:40:01 -07:00
daanx
c9dd6f6dc9 fix mem tracking for asan 2023-04-23 16:06:58 -07:00
daanx
d4fe700089 remove spurious track_mem_defined 2023-04-23 13:13:29 -07:00
daanx
a59ae585c7 remove allow_purge option 2023-04-23 13:04:50 -07:00
daanx
67dcbbfa43 refine c17 check for ATOMIC_VAR_INIT 2023-04-23 12:46:38 -07:00
Daan
870cd98e14
Merge pull request #736 from TroutZhang/dev
Fix ATOMIC_VAR_INIT deprecation warnings for C17
2023-04-23 12:43:56 -07:00
Trout Zhang
e68010573f
Fix ATOMIC_VAR_INIT deprecation warnings for C17 2023-04-23 21:39:20 +08:00
daanx
a636d88d99 remove unused local 2023-04-22 21:52:49 -07:00
daanx
0e1670a4fb refactor arena code 2023-04-22 21:32:25 -07:00
daanx
4dcd611ec4 simplifying arena code 2023-04-22 18:47:19 -07:00
daanx
d81cc76bbc simplifying arena code 2023-04-22 18:44:00 -07:00
daanx
bdead26c77 improve static alloc precision 2023-04-22 17:26:51 -07:00
daanx
2a6352fef2 add further zero initialization checks 2023-04-22 10:18:57 -07:00
daanx
e90ad987cc add zero initialization on zero sized reallocation (issue #725) 2023-04-22 10:18:18 -07:00
daanx
e47adc2d22 track objects in heap destroy for ETW 2023-04-21 11:33:50 -07:00
daanx
012f716485 add is_zero flag to prim_commit 2023-04-21 10:37:22 -07:00
daanx
3bc577004a clarify return codes of VirtualAlloc (issue #731) 2023-04-21 09:37:25 -07:00
daanx
4cb5b45178 fix possible underflow (issue #731) 2023-04-21 09:37:05 -07:00
daanx
b549c88e6c review realloc 2023-04-18 19:48:40 -07:00
daanx
e6f3647556 track os alignment and base 2023-04-18 19:00:50 -07:00
daanx
173382ef60 is_zero review; fix asan check 2023-04-18 17:52:16 -07:00
daanx
09e42aea4e clarify is_zero meaing 2023-04-18 17:41:18 -07:00
daanx
4d976270eb review is_zero flag 2023-04-18 17:18:39 -07:00
daanx
b845be241a wip: use memid for OS allocation 2023-04-18 16:38:47 -07:00
daanx
2f878354f4 add arena contains check for valid pointers 2023-04-18 14:13:55 -07:00
daanx
10a6b303be review bitmap.c 2023-04-18 13:34:23 -07:00
daanx
91cd6e2560 add filter files for vs2022 2023-04-17 13:01:08 -07:00
daanx
4a867ffd98 disable tsan as it times out on the azure pipeline 2023-04-17 12:24:01 -07:00
Daan Leijen
72f3ba95a8 reduce iterations under tsan 2023-04-17 12:08:22 -07:00
daanx
63ddc31d3f fix 32-bit compile warnings 2023-04-17 12:05:33 -07:00
daanx
e03f26b035 fix atomic signature 2023-04-17 11:39:55 -07:00
daanx
93175c9871 increase pipeline timeout to 10min for tsan 2023-04-17 11:36:11 -07:00
daanx
aa1ba045ac increase pipeline timeout for tsan 2023-04-17 10:19:40 -07:00
daanx
f42c66ccce fix build on vs2017/2019 2023-04-17 10:13:36 -07:00
daanx
a8c581059b Merge branch 'dev' into dev-reset 2023-04-17 09:48:58 -07:00
daanx
43be9c2909 possible fix for warnings on armv6 (issue #719) 2023-04-17 09:25:41 -07:00
daanx
a52ba65f65 further fix for atomic build error suggested by Davide Di Gennaro (issue #729, pr #724) 2023-04-17 09:13:08 -07:00
Daan
56fde8459a
Merge pull request #727 from barracuda156/darwin
Fixes for Darwin PPC
2023-04-17 08:57:29 -07:00
daanx
4436fadd09 update alignment check 2023-04-16 17:05:56 -07:00
daanx
a8b9f2878a better alignment test 2023-04-16 17:01:59 -07:00
daanx
89e092d795 increase retire cycles to 16 2023-04-16 16:43:11 -07:00
daanx
4a52b7e4c4 use memzero_aligned 2023-04-16 12:32:43 -07:00
daanx
a655c28b66 cleanup 2023-04-16 12:29:21 -07:00
daanx
d48b988c40 clean up os api 2023-04-16 11:21:45 -07:00
daanx
0fc4de1440 use rich memid's to simplify the internal API's and invariants 2023-04-15 21:31:17 -07:00
daanx
0174d19af3 increase thread data cache to 16 2023-04-15 19:49:14 -07:00
daanx
8027fcfecd Merge branch 'dev' into dev-reset 2023-04-15 17:59:01 -07:00
Sergey Fedorov
d106f0c116 alloc-override-zone.c: fix for 10.6 rosetta/ppc 2023-04-15 07:07:25 +08:00
Sergey Fedorov
2647146abd prim.c: fix for macOS without MACH_TASK_BASIC_INFO 2023-04-15 07:07:10 +08:00
Sergey Fedorov
cd915900a2 atomic.h: unbreak build on Darwin PPC 2023-04-15 07:06:47 +08:00
Daan
462080a92e add test for issue #602 2023-04-14 10:02:01 -07:00
Daan
f30b302895 address concern #721 2023-04-14 09:51:28 -07:00
Daan
94e5ddd7b5
Merge pull request #723 from devnexen/fbsd_build_fix
fix build on freebsd.
2023-04-14 09:46:53 -07:00
Daan
5a866ca7e1 fix build error on Android/Linux for an atomic signature (pr #724, issue #729) 2023-04-14 09:44:36 -07:00
Daan
9535726528 fix warnings on latest macOS 2023-04-14 09:42:04 -07:00
Daan
6d18559014
Merge pull request #726 from Xazax-hun/patch-1
Fix option name for ETW tracking
2023-04-14 09:37:58 -07:00