Commit Graph

1337 Commits

Author SHA1 Message Date
Anton Korobeynikov
765fc9c0ca Unify statistic collection:
- For MI_STAT == 0 no allocation stats are collected
  - For MI_STAT == 1 only aggregated values (across normal, large and huge heaps) are collected
  - For MI_STAT == 1 separate per-bin collection for normal heap is done as well
2020-11-11 11:41:39 +03:00
Anton Korobeynikov
00fb89f771 Rename the field 2020-11-11 11:41:33 +03:00
Anton Korobeynikov
d9a0624529 Print current values of stat counters as well.
For some reasons unknown to me the current values of stat counters are never printed.
This makes is quite hard to use printing during the debugging in the middle
of program run.
2020-11-02 00:24:24 +03:00
Anton Korobeynikov
39bcf8a6b0 Honour MI_STAT in couple more places. 2020-11-02 00:14:02 +03:00
Anton Korobeynikov
9c45221243 Do not use the same counter for warnings and errors.
Warnings happen normally and could be safely ignored in the most cases,
however errors, if enabled, should not be ignored. Currently since warnings
and errors share the same counter we effectively stop showing errors after
16 warnings (which happen all the time).

Use different counters for errors and warnings.
2020-11-01 23:57:42 +03:00
David Carlier
1deea03bf1 On Darwin, using MADV_FREE_REUSABLE/MADV_FREE_REUSE.
The former to notify the pages are available for other processes,
 the latter is needed for proper counting in case those pages where
tagged as reusable previously otherwise is a no-op, all for better
 RSS reporting for task_info apps.
2020-10-31 22:22:04 +00: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
Vasya B
cb45e3c6b1 fix for x32 builds 2020-10-19 21:00:16 +00:00
daan
ca13e9cd59 better instruction scheduling for alloc 2020-10-15 19:46:33 -07:00
daan
69f935944f add test to avoid searching arenas when possible 2020-10-15 19:46:19 -07:00
daan
6279835976 fix unused parameter warning 2020-10-11 13:22:14 -07:00
daan
7114d5424a fix statistics to include padding correctly (issue #301) 2020-10-11 13:14:43 -07:00
daan
5d2b925f3e wrap MI_SECURE conditional in #ifdef to avoid warnings (issue #311) 2020-10-11 10:56:57 -07:00
daan
ead1f34930 add extra NULL checks for heap parameters in the heap API (issue #311) 2020-10-11 10:50:09 -07:00
daan
ed8cc1fc19 Merge branch 'master' into dev 2020-09-24 16:32:56 -07:00
daan
13a4030619 bump version to 1.6.7 2020-09-24 16:30:40 -07:00
daan
1233de7388 use relaxed load for region count as that is monotonic 2020-09-24 16:29:41 -07:00
daan
44d030ba9d fuse used decrement with test for slightly better codegen 2020-09-24 16:28:25 -07:00
Daan
abcaa4a4f2
Update readme.md
link to mi_process_info
2020-09-24 10:38:18 -07:00
daan
6f181194f6 Merge branch 'master' into dev 2020-09-24 10:33:49 -07:00
daan
b5196e5971 further updates to documentation 2020-09-24 10:33:33 -07:00
daan
dac4047eab Merge branch 'master' into dev 2020-09-24 10:28:11 -07:00
daan
64730118d3 Merge branch 'master' of https://github.com/microsoft/mimalloc 2020-09-24 10:26:14 -07:00
daan
229fbac770 update documentation 2020-09-24 10:26:08 -07:00
Daan
eb1e4817ef
Update readme.md
Fix version
2020-09-24 10:18:00 -07:00
daan
9d5098c705 bump version to 1.6.7 for further development 2020-09-24 10:16:40 -07:00
daan
6adb919085 bump version to 1.6.6 2020-09-24 10:14:10 -07:00
daan
f88b4b4c27 extend mi_process_info to include elapsed time 2020-09-24 10:13:25 -07:00
daan
d0d3634143 bump version for further development 2020-09-24 09:29:37 -07:00
daan
c05302f097 Merge branch 'dev' into dev-exp 2020-09-24 09:11:49 -07:00
daan
41683071c1 update readme 2020-09-24 09:05:01 -07:00
daan
4d3ddcfc51 update readme for upcoming release; add acknowledgements 2020-09-23 20:37:17 -07:00
daan
1adec58c83 fix spelling 2020-09-23 20:02:24 -07:00
daan
46239cf0c2 Merge branch 'master' into dev 2020-09-23 20:00:37 -07:00
daan
64a3d24dcd bump version to 1.6.5 2020-09-23 20:00:23 -07:00
Daan
5cd5423108
Merge pull request #297 from Shivam7-1/patch-2
Updated readme.md
2020-09-14 09:13:20 -07:00
Daan
6d47e65b78
Merge pull request #302 from devnexen/haiku_build_fix
Haiku build fix.
2020-09-14 09:11:25 -07:00
Daan
8ede0f9ba1
Merge pull request #304 from isanych/do_not_require_version
Do not require to specify version for cmake find_package
2020-09-14 09:08:05 -07:00
daan
d89c23efce merge from dev 2020-09-14 09:03:52 -07:00
daan
840eba2874 improve handling of out-of-memory situations 2020-09-14 09:02:06 -07:00
Daan
ff7b6c54bd
Merge pull request #303 from isanych/fix_access_violation
Fix rare access violation on out of memory
2020-09-14 08:49:52 -07:00
Daan
0df0c17f5a
Update readme.md 2020-09-14 08:31:20 -07:00
Daan
d6ca70c9cc
Update readme.md
Clarify the distinctive idea of mimalloc as free-list multi-sharding
2020-09-14 08:30:49 -07:00
Igor Kostenko
f5e3cca74e Do not require to specify version for cmake find_package 2020-09-14 11:13:03 +01:00
Igor Kostenko
bf9c3bd088 Fix rare access violation on out of memory 2020-09-14 10:50:22 +01:00
David Carlier
568d6e532b Haiku build fix.
Haiku does not provide page faults statistics only system wide.
2020-09-10 18:49:19 +00:00
daan
8607ff617c add environment option mi_reserve_os_memory 2020-09-08 17:16:31 -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
14b8d27386 track pinned memory separately from large os pages 2020-09-08 16:46:03 -07:00
daan
c86459afef split bitmap code into separate header and source file 2020-09-08 10:14:13 -07:00