• Austin Clements's avatar
    runtime: don't recheck heap trigger for periodic GC · d57f0373
    Austin Clements authored
    88e945fd introduced a non-speculative double check of the heap trigger
    before actually starting a concurrent GC. This was necessary to fix a
    race for heap-triggered GC, but broke sysmon-triggered periodic GC,
    since the heap check will of course fail for periodically triggered
    GC.
    
    Fix this by telling startGC whether or not this GC was triggered by
    heap size or a timer and only doing the heap size double check for GCs
    triggered by heap size.
    
    Fixes #12026.
    
    Change-Id: I7c3f6ec364545c36d619f2b4b3bf3b758e3bcbd6
    Reviewed-on: https://go-review.googlesource.com/13168Reviewed-by: 's avatarRuss Cox <rsc@golang.org>
    d57f0373
mheap.go 31.3 KB