diff options
| author | cuiweixie <cuiweixie@gmail.com> | 2022-08-27 09:45:15 +0800 |
|---|---|---|
| committer | Michael Pratt <mpratt@google.com> | 2022-09-01 18:02:28 +0000 |
| commit | 5a6db7c48fb8a1e7b6d8f59ba4e3b7ecb8c35fc7 (patch) | |
| tree | 75ddc372861bddfa4ae6ccdf9eacbd33613640c4 /src/runtime | |
| parent | af991a6d28949cd27a41a93b46abf42cbf07023d (diff) | |
| download | go-5a6db7c48fb8a1e7b6d8f59ba4e3b7ecb8c35fc7.tar.xz | |
runtime: convert ncgocall to atomic type
For #53821
Change-Id: Ib0d62ee36487b3ed68e063976968f3cac6499e4b
Reviewed-on: https://go-review.googlesource.com/c/go/+/426075
Reviewed-by: Michael Pratt <mpratt@google.com>
Run-TryBot: xie cui <523516579@qq.com>
Reviewed-by: Heschi Kreinick <heschi@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Diffstat (limited to 'src/runtime')
| -rw-r--r-- | src/runtime/cgocall.go | 2 | ||||
| -rw-r--r-- | src/runtime/debug.go | 2 | ||||
| -rw-r--r-- | src/runtime/proc.go | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/src/runtime/cgocall.go b/src/runtime/cgocall.go index 0a25cb6562..9d6568b292 100644 --- a/src/runtime/cgocall.go +++ b/src/runtime/cgocall.go @@ -111,7 +111,7 @@ func syscall_cgocaller(fn unsafe.Pointer, args ...uintptr) uintptr { return as.retval } -var ncgocall uint64 // number of cgo calls in total for dead m +var ncgocall atomic.Uint64 // number of cgo calls in total for dead m // Call from Go to C. // diff --git a/src/runtime/debug.go b/src/runtime/debug.go index 669c36f0d5..531c316b97 100644 --- a/src/runtime/debug.go +++ b/src/runtime/debug.go @@ -45,7 +45,7 @@ func NumCPU() int { // NumCgoCall returns the number of cgo calls made by the current process. func NumCgoCall() int64 { - var n = int64(atomic.Load64(&ncgocall)) + var n = int64(ncgocall.Load()) for mp := (*m)(atomic.Loadp(unsafe.Pointer(&allm))); mp != nil; mp = mp.alllink { n += int64(mp.ncgocall) } diff --git a/src/runtime/proc.go b/src/runtime/proc.go index 6ecb786d1b..89cb5c70f0 100644 --- a/src/runtime/proc.go +++ b/src/runtime/proc.go @@ -1530,7 +1530,7 @@ found: } unlock(&sched.lock) - atomic.Xadd64(&ncgocall, int64(mp.ncgocall)) + ncgocall.Add(int64(mp.ncgocall)) // Release the P. handoffp(releasep()) |
