| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
📍 Job mac-m1_mini_2020-perf/speedometer3 complete.
See results at: https://pinpoint-dot-chromeperf.appspot.com/job/109c28e7f10000
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
📍 Job mac-m1_mini_2020-perf/jetstream2.crossbench complete.
See results at: https://pinpoint-dot-chromeperf.appspot.com/job/17a641bff10000
📍 Job mac-m1_mini_2020-perf/speedometer3 complete.
See results at: https://pinpoint-dot-chromeperf.appspot.com/job/101724a4090000
static constexpr size_t kMinimumAllocationLimitGrowingStep = 64 * MB;(If we decided to keep this method as-is) Nit: Can we drop this method and just define the constant for GlobalMemoryTrait instead?
return base::saturated_cast<size_t>(std::max(Do I understand correctly that 64M is now our minimum allocation limit growing step? While I like the simplicity of it, it seems a bit high.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Commit-Queue | +1 |
static constexpr size_t kMinimumAllocationLimitGrowingStep = 64 * MB;(If we decided to keep this method as-is) Nit: Can we drop this method and just define the constant for GlobalMemoryTrait instead?
Done
The V8HeapTrait counterpart could do the same in the follow-up
return base::saturated_cast<size_t>(std::max(Do I understand correctly that 64M is now our minimum allocation limit growing step? While I like the simplicity of it, it seems a bit high.
Do I understand correctly that 64M is now our minimum allocation limit growing step?
Yes
While I like the simplicity of it, it seems a bit high.
This includes external memory though (hence the 64M). I suppose if there's no external memory, we're effectively giving oilpan a larger min growing step which may be undesirable.
Looking at ukm data, hitting the 8mb growing step is quite common.
We could keep the min = 8mb (done in latest patchset), which should have no impact in most cases, at the cost of more frequent GCs when above 8Gb; this still serves the goal of unblocking external_memory_accounted_in_global_limit.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
😿 Job mac-m1_mini_2020-perf/jetstream2.crossbench failed.
See results at: https://pinpoint-dot-chromeperf.appspot.com/job/17029400090000
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
😿 Job mac-m1_mini_2020-perf/speedometer3 failed.
See results at: https://pinpoint-dot-chromeperf.appspot.com/job/145928e7f10000
📍 Job mac-m1_mini_2020-perf/speedometer3 complete.
See results at: https://pinpoint-dot-chromeperf.appspot.com/job/16afe186090000
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
📍 Job mac-m1_mini_2020-perf/jetstream2.crossbench complete.
See results at: https://pinpoint-dot-chromeperf.appspot.com/job/1490811c090000
return base::saturated_cast<size_t>(std::max(Etienne Pierre-DorayDo I understand correctly that 64M is now our minimum allocation limit growing step? While I like the simplicity of it, it seems a bit high.
Do I understand correctly that 64M is now our minimum allocation limit growing step?
Yes
While I like the simplicity of it, it seems a bit high.
This includes external memory though (hence the 64M). I suppose if there's no external memory, we're effectively giving oilpan a larger min growing step which may be undesirable.
Looking at ukm data, hitting the 8mb growing step is quite common.
We could keep the min = 8mb (done in latest patchset), which should have no impact in most cases, at the cost of more frequent GCs when above 8Gb; this still serves the goal of unblocking external_memory_accounted_in_global_limit.
I realize that using 8Mb breaks Regress9701 again when enabling external_memory_accounted_in_global_limit.
But then I also realize that Regress9701 only succeeds ToT because the test allocates 64000Kb, which is below 64Mb. Simply increasing the total size of allocations breaks the test:
https://chromium-review.git.corp.google.com/c/v8/v8/+/7653295?tab=checks
So to unblock external_memory_accounted_in_global_limit, I think we should just disable the test until I find a better solution, or a write a better test.
AFAIU what we really might want is to ensure scavenger runs before full GC when allocating AB if that makes a meaningful difference (it doesn't really matter on an empty heap), but that's a bit out of scope.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Code-Review | +1 |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
[heap] Ensure heap limit is above current size
The assumption that allocation_limit < max_size isn't always true.
This won't hold if current size > max_size.
When this happens for old generation limit, we'll eventually crash, but that's not the case for global limit.
This CL makes sure that BoundAllocationLimit returns a value above
current_size for global limit, to avoid repeated GCs.
A minimum step of 8Mb is chosen, which match the existing min growing
step;
this follows a similar behavior of allowing a minimum amount of growth
before the next GC (but this is only relevant when above max
global size).
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |