OSDN Git Service

Return total footprint, not high water mark.
authorChristopher Ferris <cferris@google.com>
Fri, 10 Oct 2014 15:40:21 +0000 (08:40 -0700)
committerChristopher Ferris <cferris@google.com>
Mon, 13 Oct 2014 19:45:35 +0000 (12:45 -0700)
The mallinfo usmblks value returned by dlmalloc is a little misleading.
It's not the current max, it's the historical high water mark. This
leads to dumpsys meminfo producing native memory numbers that don't add up.
Change this to the real total footprint, not this high water mark.

Bug: 17265653

(cherry pick from commit f4ada9c9ce31c7e56146a4cb703747385bc043a5)

Change-Id: I2fba10285859dccfe8331063c9be14cc169f2d91

libc/upstream-dlmalloc/malloc.c

index 4362f49..3c9d36b 100644 (file)
@@ -3526,7 +3526,9 @@ static struct mallinfo internal_mallinfo(mstate m) {
       nm.arena    = sum;
       nm.ordblks  = nfree;
       nm.hblkhd   = m->footprint - sum;
-      nm.usmblks  = m->max_footprint;
+      /* BEGIN android-changed: usmblks set to footprint from max_footprint */
+      nm.usmblks  = m->footprint;
+      /* END android-changed */
       nm.uordblks = m->footprint - mfree;
       nm.fordblks = mfree;
       nm.keepcost = m->topsize;