diff --git a/src/runtime/lock_spinbit.go b/src/runtime/lock_spinbit.go index c2a6c76629c3922213fab98783a2a6ac90cd723d..f90698a4c943d4314828331ecd73cffd22bec79d 100644 --- a/src/runtime/lock_spinbit.go +++ b/src/runtime/lock_spinbit.go @@ -404,7 +404,7 @@ useStackLock: n++ next := node.mWaitList.next.ptr() if next == nil { - cycles := endTicks - (head.mWaitList.startTicks+node.mWaitList.startTicks)/2 + cycles := ((endTicks - head.mWaitList.startTicks) + (endTicks - node.mWaitList.startTicks)) / 2 node.mWaitList.startTicks = endTicks head.mWaitList.startTicks = endTicks getg().m.mLockProfile.recordUnlock(cycles * int64(n))