]> Cypherpunks repositories - gostls13.git/commit
runtime: remove mcentral.nmalloc and add mcache.local_nsmallalloc
authorMichael Anthony Knyszek <mknyszek@google.com>
Thu, 23 Jul 2020 22:07:44 +0000 (22:07 +0000)
committerMichael Knyszek <mknyszek@google.com>
Mon, 26 Oct 2020 17:26:23 +0000 (17:26 +0000)
commita5088e76f108f6470d2a9b3ac56a58ddb9376e4f
tree5667b133183a6fbee6da7c352b7ccf7c7187b1c9
parente63716bc76d3264f669843434bc365a78f2141d2
runtime: remove mcentral.nmalloc and add mcache.local_nsmallalloc

This change removes mcentral.nmalloc and adds mcache.local_nsmallalloc
which fulfills the same role but may be accessed non-atomically. It also
moves responsibility for updating heap_live and local_nsmallalloc into
mcache functions.

As a result of this change, mcache is now the sole source-of-truth for
malloc stats. It is also solely responsible for updating heap_live and
performing the various operations required as a result of updating
heap_live. The overall improvement here is in code organization:
previously malloc stats were fairly scattered, and now they have one
single home, and nearly all the required manipulations exist in a single
file.

Change-Id: I7e93fa297c1debf17e3f2a0d68aeed28a9c6af00
Reviewed-on: https://go-review.googlesource.com/c/go/+/246966
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>
src/runtime/mcache.go
src/runtime/mcentral.go
src/runtime/mstats.go