mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-24 02:35:41 +00:00
965981b68d
Until bug 1361258, there was only ever one mozjemalloc arena, and the number of dirty pages we allow to be kept dirty, fixed to 1MB per arena, was, in fact, 1MB for an entire process. With stylo using thread local arenas, we now can have multiple arenas per process, multiplying that number of dirty pages. While those dirty pages may be reused later on, when other allocations end up filling them later on, the fact that a relatively large number of them is kept around for each stylo thread (in proportion to the amount of memory ever allocated by stylo), combined with the fact that the memory use from stylo depends on the workload generated by the pages being visited, those dirty pages may very well not be used for a rather long time. This is less of a problem with the main arena, used for most everything else. So, for each arena except the main one, we decrease the number of dirty pages we allow to be kept around to 1/8 of the current value. We do this by introducing a per-arena configuration of that maximum number. --HG-- extra : rebase_source : 75eebb175b3746d5ca1c371606cface50ec70f2f |
||
---|---|---|
.. | ||
Makefile.in | ||
malloc_decls.h | ||
moz.build | ||
mozjemalloc_types.h | ||
mozjemalloc.cpp | ||
mozjemalloc.h | ||
mozmemory_wrap.c | ||
mozmemory_wrap.h | ||
mozmemory.h | ||
rb.h | ||
replace_malloc_bridge.h | ||
replace_malloc.h | ||
zone.c |