blink_gc:allocated_objects_size dropped to zero |
||||
Issue descriptionWe want to figure out what caused this and whether it's intended. Running pinpoint job from here: https://chromeperf.appspot.com/report?sid=fd22da25f495064cb8f9652df7671d0f4bd9ae10d59a6999dd3927acac30f1fe&start_rev=560526&end_rev=569180
,
Jul 20
😿 Pinpoint job stopped with an error. https://pinpoint-dot-chromeperf.appspot.com/job/12e96f49a40000 The swarming task expired. The bots are likely overloaded, dead, or misconfigured.
,
Jul 23
📍 Pinpoint job started. https://pinpoint-dot-chromeperf.appspot.com/job/14e07d93a40000
,
Jul 27
📍 Found a significant difference after 1 commit. https://pinpoint-dot-chromeperf.appspot.com/job/14e07d93a40000 [oilpan] Move stats from ThreadHeapStats to ThreadHeapStatsCollector by mlippautz@chromium.org https://chromium.googlesource.com/chromium/src/+/a28edd7823a5e5d6c3f524c9e5b6202b0ff655f0 2.144e+05 → 0 (-2.144e+05) Understanding performance regressions: http://g.co/ChromePerformanceRegressions
,
Jul 27
Michael, is it indented for your change to cause blink_gc:allocated_objects_size to drop to zero?
,
Jul 27
In the same range we noted that blink_gc:effective_size did not actually change, see e.g.: https://chromeperf.appspot.com/report?sid=68fe66442a05e697f52577a5d8ab1678ee9252393576f677894f0daca488f7f6&start_rev=560526&end_rev=569180
,
Jul 27
In theory it's possible because of timing but I need to check that. It might very well be a bug. Will probably get to this next week.
,
Jul 30
We changed how counters are updated and held consistent in this CL. There's unfortunately a bug in the "special" garbage collection type that is used to create the memory dumps. UMA and chrome://tracing is unaffected by this because they perform full GCs. For memory dumps we only perform marking and do not compute certain counters as we do not sweep the heap. We do traverse all the necessary objects, so this is something that can be fixed right away.
,
Jul 31
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/deb0c9c1b6811ffaca406c15be5bad4907db7fe0 commit deb0c9c1b6811ffaca406c15be5bad4907db7fe0 Author: Michael Lippautz <mlippautz@chromium.org> Date: Tue Jul 31 07:58:07 2018 [heap] Update marked bytes when making the heap consistent for snapshots Live bytes are computed during sweeping for regular garbage collection. The live bytes computation was missing from the logic that makes the heap consistent after performing marking just for taking a snapshot. The result is that ProcessHeap counters are not usable when just performing a garbage collection for snapshots as the counters would always be zeroed out. Bug: chromium:865438 Change-Id: Id0d7e7a75895a6e6bb0ae62959f3e7a36b3d26fa Reviewed-on: https://chromium-review.googlesource.com/1155121 Reviewed-by: Kentaro Hara <haraken@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#579339} [modify] https://crrev.com/deb0c9c1b6811ffaca406c15be5bad4907db7fe0/third_party/blink/renderer/platform/heap/heap_page.cc
,
Jul 31
Thanks a lot for reporting. Graphs should recover now.
,
Jul 31
Awesome, thanks! And thanks wangge@ for finding the bug in the first place! |
||||
►
Sign in to add a comment |
||||
Comment 1 by 42576172...@developer.gserviceaccount.com
, Jul 19