Commit Graph

113 Commits

Author SHA1 Message Date
Daniel Micay
6d78dec42a clarify malloc_info format is a bit different 2019-08-20 15:57:59 -04:00
Daniel Micay
2e4ab73fb6 basic design -> core design 2019-08-19 06:11:10 -04:00
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