DescriptionReinstate memory pressure Oilpan GC check post V8 major GCs.
To handle workloads with high allocation rates, where the Oilpan heap
allocations only make up a small fraction compared to what's allocated
by either PartitionAlloc or V8, use V8's major GC notification as
a signal to check for the need to perform an "emergency" memory
pressure conservative GC. Otherwise there might not be enough Oilpan
allocations made to trigger out-of-line heap allocations which trigger
that same check. These GCs and workloads are rare, but reduces the
possibility of running into OOM conditions when Oilpan is faced with
those.
An example where it does show up is Dromaeo's dom-modify.html, which
has a subtest that heavily allocates Text nodes, each holding a longer
string. As each Text node is a small Oilpan heap object, not a lot of heap is
needed for the nodes, but PartitionAlloc's buffer partition size grows much
more sharply and risks signalling OOM. V8's RTS notices the memory pressure
and triggers extra GCs; reuse that signal in Oilpan.
Hence, bring back the check that https://codereview.chromium.org/1190513006/
added for checking this condition.
R=haraken
BUG=474470
Committed: https://crrev.com/431fb544a364ebd80a8db6b03b90cc5a62e4407a
Cr-Commit-Position: refs/heads/master@{#351044}
Patch Set 1 #
Total comments: 11
Patch Set 2 : introduce conditional helper for mem-pressure GCs #
Messages
Total messages: 10 (3 generated)
|