Commit graph

88 commits

Author SHA1 Message Date
Daan Leijen
e314699ee0 add debug view of arenas 2021-01-28 17:32:42 -08:00
Daan Leijen
217871cb45 fix search_idx start in managed arenas 2021-01-22 11:24:25 -08:00
daan
b149099bf3 use relaxed load for last search position in an arena 2020-09-24 16:55:00 -07:00
daan
1d946146cc fix all_committed 2020-09-11 10:40:22 -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
14b8d27386 track pinned memory separately from large os pages 2020-09-08 16:46:03 -07:00
daan
037285ac09 refactor segment cache and map in a separate source file 2020-09-08 13:27:34 -07:00
daan
161f9a7751 refactor arena allocation 2020-09-08 11:12:44 -07:00
daan
a948724340 merge from dev (bitmap split) 2020-09-08 10:33:30 -07:00
daan
c86459afef split bitmap code into separate header and source file 2020-09-08 10:14:13 -07:00
daan
6b013d5f38 test for arena count early; skip test in bitmap_mask_ for perf 2020-09-07 22:55:36 -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
f7dc4847f2 keep commit_mask live in the cache for better reuse 2020-09-05 21:58:32 -07:00
daan
3d708aa7e1 fix warning in g++ 2020-09-05 12:16:46 -07:00
daan
4df01218e2 fix msvc compilation with new atomics 2020-09-05 10:03:37 -07:00
daan
dc858f6d29 fix c++ compilation with new atomics for dev-slice 2020-09-05 09:23:22 -07:00
daan
b22401deb3 layout 2020-09-03 20:31:11 -07:00
daan
f6109765d8 update whitespace and comments 2020-09-03 15:04:40 -07:00
Daan Leijen
7058e501cb use atomic ops for the expire field; passes TSAN now 2020-09-03 13:53:56 -07:00
daan
03071dec0f merge from dev-atomic with new atomic interface 2020-09-03 12:13:09 -07:00
daan
ef8e5d18a6 replace atomics with C11/C++ atomics with explicit memory order; passes tsan. Issue #130 2020-07-26 18:01:33 -07:00
daan
09ade02429 bring inline with C11 atomics; no volatile and cas order of expected/desired 2020-07-25 22:52:27 -07:00
daan
28f4f1ce04 nice cache initialization 2020-05-03 10:45:46 -07:00
daan
e5b72cdfe7 reduce segment size and increase cache 2020-05-02 22:22:35 -07:00
daan
69158f2c76 roll back again to new arena cache: previous perf regression was caused due to accidentally making secure mode default 2020-05-02 12:04:36 -07:00
daan
18d697a1e6 roll back to old arena cache as it seems to do better on AMD 2020-05-02 11:57:33 -07:00
daan
66e5484c1c fix assertions for huge pages in secure mode 2020-05-02 11:23:25 -07:00
daan
b8846f7a27 fix unprotect of guard pages 2020-05-02 10:51:10 -07:00
daan
37b43e4cea improved arena cache 2020-05-02 10:37:33 -07:00
daan
79da2728c4 reduce cache 2020-05-02 00:12:45 -07:00
daan
8bfd5ec865 improve arena cache to avoid full scans 2020-05-01 23:00:17 -07:00
daan
dad3be3c64 update comments 2020-04-30 17:21:36 -07:00
daan
7123efb397 pass full commit flag to free, possible fix for issue #218 2020-04-23 20:19:48 -07:00
daan
1f396e64a0 merge from dev 2020-03-16 16:41:21 -07:00
daan
8422ab125d improve messages; fix reset size calculation on large pages 2020-01-31 17:28:26 -08:00
daan
b50bec463d merge from dev-exp; better abandoned reclamation 2020-01-27 22:12:23 -08:00
daan
7785139201 fix warning on gcc on attribute ignore in templates 2020-01-25 13:28:24 -08:00
daan
072ceb2efe Merge branch 'dev' into dev-exp-abandon 2020-01-24 20:20:55 -08:00
daan
ecece57284 fix bug in committed check in arena allocation 2020-01-24 20:20:43 -08:00
daan
b31bc52618 add cache alignment directives for contended variables 2020-01-24 19:02:13 -08:00
daan
a46d20a681 merge with new atomic macros 2020-01-22 20:53:44 -08:00
daan
e226ebcc97 Merge branch 'dev' into dev-arena 2020-01-22 20:39:33 -08:00
daan
0193a15f7e nicer message on huge OS page reservation 2020-01-22 19:46:43 -08:00
daan
e3b16fe4ef reduce type casts in atomic operations 2020-01-22 19:44:54 -08:00
daan
0028272cf4 small fixes, reduced segment size, fix merge conflicts 2020-01-20 22:33:29 -08:00
daan
394a7a92ab merge from dev 2020-01-20 19:06:08 -08:00
daan
dc58388968 Add ability to register custom error function called on various error conditions; including ENOMEM 2020-01-17 19:59:55 -08:00
daan
4a27ea1643 merge from dev 2020-01-13 18:01:34 -08:00