• Keith Randall's avatar
    runtime: move stack shrinking until after sweepgen is incremented. · e9445547
    Keith Randall authored
    Before GC, we flush all the per-P allocation caches.  Doing
    stack shrinking mid-GC causes these caches to fill up.  At the
    end of gc, the sweepgen is incremented which causes all of the
    data in these caches to be in a bad state (cached but not yet
    swept).
    
    Move the stack shrinking until after sweepgen is incremented,
    so any caching that happens as part of shrinking is done with
    already-swept data.
    
    Reenable stack copying.
    
    LGTM=bradfitz
    R=golang-codereviews, bradfitz
    CC=golang-codereviews
    https://golang.org/cl/69620043
    e9445547
mgc0.c 72.4 KB