From: Russ Cox Date: Wed, 14 Sep 2011 15:29:01 +0000 (-0400) Subject: runtime: track HeapIdle X-Git-Tag: weekly.2011-09-16~35 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=33d00fae30a8079db004f6ecaa618a49955b34b4;p=gostls13.git runtime: track HeapIdle R=golang-dev, r CC=golang-dev https://golang.org/cl/4995045 --- diff --git a/src/pkg/runtime/mheap.c b/src/pkg/runtime/mheap.c index 37d5056815..7d24a6540d 100644 --- a/src/pkg/runtime/mheap.c +++ b/src/pkg/runtime/mheap.c @@ -101,6 +101,7 @@ HaveSpan: runtime·throw("MHeap_AllocLocked - bad npages"); runtime·MSpanList_Remove(s); s->state = MSpanInUse; + mstats.heap_idle -= s->npages<npages > npage) { // Trim extra and put it back in the heap. @@ -276,6 +277,7 @@ MHeap_FreeLocked(MHeap *h, MSpan *s) runtime·printf("MHeap_FreeLocked - span %p ptr %p state %d ref %d\n", s, s->start<state, s->ref); runtime·throw("MHeap_FreeLocked - invalid free"); } + mstats.heap_idle += s->npages<state = MSpanFree; runtime·MSpanList_Remove(s); sp = (uintptr*)(s->start<