From b464708b463b104849a951af54352c8a894bfbc4 Mon Sep 17 00:00:00 2001 From: Michael Pratt Date: Tue, 19 Jul 2022 13:34:29 -0400 Subject: runtime: convert schedt.goidgen to atomic type For #53821. Change-Id: I84c96ade5982b8e68d1d1787bf1bfa16a17a4fb4 Reviewed-on: https://go-review.googlesource.com/c/go/+/419439 Reviewed-by: Austin Clements Run-TryBot: Michael Pratt TryBot-Result: Gopher Robot --- src/runtime/proc.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/runtime/proc.go') diff --git a/src/runtime/proc.go b/src/runtime/proc.go index 33d7d6f552..d9df526f7e 100644 --- a/src/runtime/proc.go +++ b/src/runtime/proc.go @@ -1919,7 +1919,7 @@ func oneNewExtraM() { mp.lockedInt++ mp.lockedg.set(gp) gp.lockedm.set(mp) - gp.goid = int64(atomic.Xadd64(&sched.goidgen, 1)) + gp.goid = int64(sched.goidgen.Add(1)) if raceenabled { gp.racectx = racegostart(abi.FuncPCABIInternal(newextram) + sys.PCQuantum) } @@ -4168,7 +4168,7 @@ func newproc1(fn *funcval, callergp *g, callerpc uintptr) *g { // Sched.goidgen is the last allocated id, // this batch must be [sched.goidgen+1, sched.goidgen+GoidCacheBatch]. // At startup sched.goidgen=0, so main goroutine receives goid=1. - pp.goidcache = atomic.Xadd64(&sched.goidgen, _GoidCacheBatch) + pp.goidcache = sched.goidgen.Add(_GoidCacheBatch) pp.goidcache -= _GoidCacheBatch - 1 pp.goidcacheend = pp.goidcache + _GoidCacheBatch } -- cgit v1.3-5-g9baa