• Austin Clements's avatar
    runtime,cmd/trace: trace GC STW events · b0392159
    Austin Clements authored
    Right now we only kind of sort of trace GC STW events. We emit events
    around mark termination, but those start well after stopping the world
    and end before starting it again, and we don't emit any events for
    sweep termination.
    
    Fix this by generalizing EvGCScanStart/EvGCScanDone. These were
    already re-purposed to indicate mark termination (despite the names).
    This commit renames them to EvGCSTWStart/EvGCSTWDone, adds an argument
    to indicate the STW reason, and shuffles the runtime to generate them
    right before stopping the world and right after starting the world,
    respectively.
    
    These events will make it possible to generate precise minimum mutator
    utilization (MMU) graphs and could be useful in detecting
    non-preemptible goroutines (e.g., #20792).
    
    Change-Id: If95783f370781d8ef66addd94886028103a7c26f
    Reviewed-on: https://go-review.googlesource.com/55411Reviewed-by: 's avatarRick Hudson <rlh@golang.org>
    b0392159
Name
Last commit
Last update
..
http_1_10_good Loading commit data...
http_1_5_good Loading commit data...
http_1_7_good Loading commit data...
http_1_9_good Loading commit data...
stress_1_10_good Loading commit data...
stress_1_5_good Loading commit data...
stress_1_5_unordered Loading commit data...
stress_1_7_good Loading commit data...
stress_1_9_good Loading commit data...
stress_start_stop_1_10_good Loading commit data...
stress_start_stop_1_5_good Loading commit data...
stress_start_stop_1_7_good Loading commit data...
stress_start_stop_1_9_good Loading commit data...