pageTrace.enabled = false
// Execute a ragged barrier, flushing each trace buffer.
- forEachP(func(pp *p) {
+ forEachP(waitReasonPageTraceFlush, func(pp *p) {
if pp.pageTraceBuf.buf != nil {
pp.pageTraceBuf = pp.pageTraceBuf.flush(pp.id, nanotime())
}
waitReasonFlushProcCaches // "flushing proc caches"
waitReasonTraceGoroutineStatus // "trace goroutine status"
waitReasonTraceProcStatus // "trace proc status"
+ waitReasonPageTraceFlush // "page trace flush"
waitReasonCoroutine // "coroutine"
)
waitReasonFlushProcCaches: "flushing proc caches",
waitReasonTraceGoroutineStatus: "trace goroutine status",
waitReasonTraceProcStatus: "trace proc status",
+ waitReasonPageTraceFlush: "page trace flush",
waitReasonCoroutine: "coroutine",
}
wr == waitReasonGCMarkTermination ||
wr == waitReasonGarbageCollection ||
wr == waitReasonTraceProcStatus ||
+ wr == waitReasonPageTraceFlush ||
wr == waitReasonGCWorkerActive {
tgs = traceGoRunning
}