Commit graph

41 commits

Author SHA1 Message Date
Daan
ae5aae7e10 allow decommit in arena separate from initial commit 2021-10-19 14:00:40 -07:00
Jim Huang
0f57425f80 Distinguish SI and Binary Prefixes
SI prefixes [the decimal prefixes] refer strictly to powers of 10. They
should not be used to indicate powers of 2. e.g., one kilobit
represents 1000 bits instead of 1024 bits. IEC 60027‐2 symbols are
formed adding a "i" to the SI symbol (e.g. G + i = Gi).
2021-05-30 20:13:28 +08: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
3228bb685f set errno ENOMEM for limited arena allocation (issue #295) 2021-02-22 14:17:25 -08:00
daan
69f935944f add test to avoid searching arenas when possible 2020-10-15 19:46:19 -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
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
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
7123efb397 pass full commit flag to free, possible fix for issue #218 2020-04-23 20:19:48 -07:00
daan
8422ab125d improve messages; fix reset size calculation on large pages 2020-01-31 17:28:26 -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
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
dc58388968 Add ability to register custom error function called on various error conditions; including ENOMEM 2020-01-17 19:59:55 -08:00
daan
65f4f5144b fix out-of-bounds error in huge OS page bitmap 2020-01-13 17:06:25 -08:00
daan
d4ab0ff08c fix timeout on huge page reservation if set to 0 2020-01-07 14:15:37 -08:00
daan
a407f35c64 add arena.c into the static override object 2019-12-01 00:01:14 -08:00
Daan Leijen
211f1aa519 remove reset delay slots; add reset tracking per page and segment 2019-11-20 14:55:12 -08:00
Daan Leijen
d01ed42bcb replace max_numa_nodes by use_numa_nodes (to help with wrong detection of numa nodes on WSL for example) 2019-11-13 13:35:50 -08:00
daan
db3f1c4bfa add commit info to arenas 2019-11-11 15:26:11 -08:00
Daan Leijen
9f08ddd0d0 refactor regions; add commit tracking on a segment basis 2019-11-09 19:30:53 -08:00
daan
378716c467 refactor and improve atomic bitmap usage 2019-11-07 10:26:52 -08:00
daan
b09282bc0d change arena allocator to atomic bitmap as well 2019-11-06 22:49:01 -08:00
daan
3d0a1e249f remove all floating point types and arithmetic 2019-11-04 09:40:10 -08:00
daan
8afd06b248 use int64 for time (instead of double) 2019-11-04 08:44:40 -08:00
daan
9d6a5acb22 fix unix build warnings 2019-11-03 13:34:54 -08:00
daan
520a8dafee divide huge pages more even 2019-11-03 13:25:28 -08:00
daan
f36ec5d9d8 reserve huge pages incrementally 2019-11-03 13:16:07 -08:00
daan
62cd0237fc fix aligned huge page allocation on windows 2019-11-02 17:49:34 -07:00
daan
2c12d7f223 optimized numa calls; better Linux support 2019-11-01 22:01:52 -07:00
daan
57dd69265a normalize numa node 2019-11-01 20:30:01 -07:00
daan
2d10c78587 fix linux compilation 2019-11-01 20:19:00 -07:00
daan
a6499be074 initial numa support for arenas 2019-11-01 19:53:07 -07:00
daan
aaf01620f4 improve allocation of the huge OS page arena 2019-10-31 19:39:49 -07:00
daan
d36d04b4a6 add arena for huge page management 2019-10-31 15:35:10 -07:00