aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/mstats.go
diff options
context:
space:
mode:
authorMichael Anthony Knyszek <mknyszek@google.com>2020-07-23 21:10:29 +0000
committerMichael Knyszek <mknyszek@google.com>2020-10-26 17:26:16 +0000
commite63716bc76d3264f669843434bc365a78f2141d2 (patch)
tree184e5e7f15db21f795038bb2f8e6f77bf102856e /src/runtime/mstats.go
parent42019613df2d9b6ad39e8ccf80861e75666025a0 (diff)
downloadgo-e63716bc76d3264f669843434bc365a78f2141d2.tar.gz
go-e63716bc76d3264f669843434bc365a78f2141d2.zip
runtime: make nlargealloc and largealloc mcache fields
This change makes nlargealloc and largealloc into mcache fields just like nlargefree and largefree. These local fields become the new source-of-truth. This change also moves the accounting for these fields out of allocSpan (which is an inappropriate place for it -- this accounting generally happens much closer to the point of allocation) and into largeAlloc. This move is partially possible now that we can call gcController.revise at that point. Furthermore, this change moves largeAlloc into mcache.go and makes it a method of mcache. While there's a little bit of a mismatch here because largeAlloc barely interacts with the mcache, it helps solidify the mcache as the first allocation layer and provides a clear place to aggregate and manage statistics. Change-Id: I37b5e648710733bb4c04430b71e96700e438587a Reviewed-on: https://go-review.googlesource.com/c/go/+/246965 Trust: Michael Knyszek <mknyszek@google.com> Run-TryBot: Michael Knyszek <mknyszek@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Michael Pratt <mpratt@google.com>
Diffstat (limited to 'src/runtime/mstats.go')
-rw-r--r--src/runtime/mstats.go4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/runtime/mstats.go b/src/runtime/mstats.go
index d81d2ebe81..d9acb361d5 100644
--- a/src/runtime/mstats.go
+++ b/src/runtime/mstats.go
@@ -578,6 +578,8 @@ func updatememstats() {
continue
}
// Collect large allocation stats.
+ memstats.nmalloc += uint64(c.local_nlargealloc)
+ totalAlloc += uint64(c.local_largealloc)
totalFree += uint64(c.local_largefree)
memstats.nfree += uint64(c.local_nlargefree)
@@ -589,8 +591,6 @@ func updatememstats() {
}
}
// Collect remaining large allocation stats.
- memstats.nmalloc += mheap_.nlargealloc
- totalAlloc += mheap_.largealloc
totalFree += smallFree