• Austin Clements's avatar
    runtime: track scan work performed during concurrent mark · 571ebae6
    Austin Clements authored
    This tracks the amount of scan work in terms of scanned pointers
    during the concurrent mark phase. We'll use this information to
    estimate scan work for the next cycle.
    
    Currently this aggregates the work counter in gcWork and dispose
    atomically aggregates this into a global work counter. dispose happens
    relatively infrequently, so the contention on the global counter
    should be low. If this turns out to be an issue, we can reduce the
    number of disposes, and if it's still a problem, we can switch to
    per-P counters.
    
    Change-Id: Iac0364c466ee35fab781dbbbe7970a5f3c4e1fc1
    Reviewed-on: https://go-review.googlesource.com/8832Reviewed-by: 's avatarRick Hudson <rlh@golang.org>
    571ebae6
mgcwork.go 14.8 KB