Daniel Micay
0e4ea0090b
expand design documentation further
2019-08-19 06:10:40 -04:00
Daniel Micay
efda950994
fix width of cell in memory tagging section
2019-08-18 06:52:09 -04:00
Daniel Micay
40be77003e
fix OS integration header level
2019-08-18 06:48:03 -04:00
Daniel Micay
0af33616f0
cleaner wording in introduction
2019-08-18 06:47:25 -04:00
Daniel Micay
c66cf10894
clarify malloc_object_size state further
2019-08-18 06:45:53 -04:00
Daniel Micay
0129d8e470
move point about delayed free for slab allocations
2019-08-18 06:44:35 -04:00
Daniel Micay
5eefcd39b4
the design / implementation is fairly complete now
2019-08-18 06:24:21 -04:00
Daniel Micay
2288b3a754
add information on stats
2019-08-18 06:21:39 -04:00
Daniel Micay
f4afedb137
add links to size class section from configuration
2019-08-18 05:48:29 -04:00
Daniel Micay
ac70e2c250
use full sentences to describe compile options
2019-08-18 05:47:13 -04:00
Daniel Micay
d0b466beb8
elaborate on the cost of GUARD_SLABS_INTERVAL
2019-08-18 05:46:20 -04:00
Daniel Micay
7a8c57d0f5
stop marking MPK support 'extremely experimental'
2019-08-18 05:37:42 -04:00
Daniel Micay
c4fc025fde
clarify ZERO_ON_FREE / WRITE_AFTER_FREE_CHECK
2019-08-18 05:35:48 -04:00
Daniel Micay
125efe99db
fix wording in note about malloc_object_size
2019-08-18 02:51:32 -04:00
Daniel Micay
abece7656b
add enabled-by-default option to use -Werror
2019-08-18 02:28:23 -04:00
Daniel Micay
defd55f302
provide link to Bionic integration commit
2019-08-18 01:44:40 -04:00
Daniel Micay
04f69d9f0d
update supported Android branches
2019-08-18 01:41:56 -04:00
Daniel Micay
995d0580d1
remove extra spaces inserted by vim joinspaces
2019-08-18 01:39:22 -04:00
Daniel Micay
b6b910f032
add table of contents to README
2019-08-18 01:15:54 -04:00
Daniel Micay
24de5aab05
still need to finish up initial malloc_object_size
2019-08-18 01:15:54 -04:00
Daniel Micay
71e4577367
fix some inconsistencies in the tagging examples
2019-08-13 21:44:16 -04:00
Daniel Micay
3ed6e546c8
OS integration guide
2019-07-18 07:22:29 -04:00
Daniel Micay
7bcfa500be
remove note about lack of sanity checks for config
2019-07-11 15:50:45 -04:00
Daniel Micay
72a08f88fb
supports Debian oldstable due to Buster release
2019-07-10 18:08:14 -04:00
Daniel Micay
934ab4cb59
explain extended size classes impact on quarantine
2019-07-05 17:57:41 -04:00
Daniel Micay
060f74b993
extended size classes now go up to 128k not 64k
2019-07-05 17:55:25 -04:00
Daniel Micay
4d4277319a
clarifications to randomization documentation
2019-06-23 19:20:16 -04:00
Daniel Micay
37474e117c
limit precision for fragmentation in table
2019-06-12 13:29:04 -04:00
Daniel Micay
64a1f59020
note about getrandom with syscall whitelists
2019-06-02 22:24:25 -04:00
Daniel Micay
ae4142c2d1
note that arenas are isolated from each other
2019-04-23 02:01:44 -04:00
Daniel Micay
18f36c3e8d
expand description of randomized delay free
2019-04-23 01:59:31 -04:00
Daniel Micay
7f0bbddfca
merge points about out-of-line / protected state
2019-04-23 01:58:37 -04:00
Daniel Micay
086eb1fee4
at a final spacing class of 1 slot size classes
2019-04-10 16:32:24 -04:00
Daniel Micay
b31e8dacb1
document extended size classes
2019-04-10 08:42:32 -04:00
Daniel Micay
922c741915
it already supports Bionic, musl and glibc
2019-04-07 18:13:26 -04:00
Daniel Micay
e0891c8cfc
implement the option of large size classes
...
This extends the size class scheme used for slab allocations to large
allocations. This drastically improves performance for many real world
programs using incremental realloc growth instead of using proper growth
factors. There are 4 size classes for every doubling in size, resulting
in a worst case of ~20% extra virtual memory being reserved and a huge
increase in performance for pathological cases. For example, growing
from 4MiB to 8MiB by calling realloc in increments of 32 bytes will only
need to do work beyond looking up the size 4 times instead of 1024 times
with 4096 byte granularity.
2019-04-07 08:52:17 -04:00
Daniel Micay
ec8fb347ed
document CONFIG_STATS
2019-04-07 00:10:22 -04:00
Daniel Micay
beaa39a5a3
move to only supporting current generation AOSP
2019-04-06 23:46:35 -04:00
Daniel Micay
494cc5ec50
update README now that arenas are implemented
2019-03-25 16:18:01 -04:00
Daniel Micay
c5e911419d
add initial implementation of arenas
2019-03-25 14:59:50 -04:00
Daniel Micay
ddd616aa0b
add documentation on system calls
2019-03-20 11:59:58 -04:00
Daniel Micay
ae96835b94
fix scalability header levels
2019-02-04 15:59:14 -05:00
Daniel Micay
e4061899aa
add documentation on scalability design choices
2019-02-04 15:01:15 -05:00
Daniel Micay
41df5005e8
add a top-level header to the README
2019-02-04 13:59:19 -05:00
Daniel Micay
9cc0ac3efa
add basic documentation on memory tagging approach
2019-02-04 11:58:28 -05:00
Daniel Micay
33b1a2740e
update default slab quarantine sizes in README
2019-01-02 15:42:41 -05:00
Arlo Breault
dea2788539
fix typo in README.md
2019-01-02 15:40:58 -05:00
Daniel Micay
57f115b33c
scale slab quarantine based on size
2019-01-02 14:52:13 -05:00
Daniel Micay
ccc2a86501
rename quarantine size -> length for clarity
2019-01-02 14:17:02 -05:00
Daniel Micay
830a7d338d
make class_region_size configurable
2018-12-05 09:38:13 -05:00