[prev in list] [next in list] [prev in thread] [next in thread]
List: glibc-alpha
Subject: [RFC][PATCH 3/4] malloc_info: report sizes of top chunks in each arena
From: Ken Milmore <ken.milmore () gmail ! com>
Date: 2018-04-30 21:00:08
Message-ID: 7c10edb2-ce0f-733b-62ce-d4b2132c1a46 () gmail ! com
[Download RAW message or body]
---
malloc/malloc.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/malloc/malloc.c b/malloc/malloc.c
index dc0a96ed13..b65161c76a 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -5391,8 +5391,10 @@ __malloc_info (int options, FILE *fp)
int n = 0;
size_t total_nblocks = 0;
size_t total_nfastblocks = 0;
+ size_t total_narenas = 0;
size_t total_avail = 0;
size_t total_fastavail = 0;
+ size_t total_topavail = 0;
size_t total_system = 0;
size_t total_max_system = 0;
size_t total_aspace = 0;
@@ -5484,6 +5486,8 @@ __malloc_info (int options, FILE *fp)
avail += sizes[NFASTBINS - 1 + i].total;
}
+ size_t topavail = chunksize (top (ar_ptr));
+
size_t heap_size = 0;
size_t heap_mprotect_size = 0;
size_t heap_count = 0;
@@ -5509,6 +5513,9 @@ __malloc_info (int options, FILE *fp)
total_nblocks += nblocks;
total_avail += avail;
+ ++total_narenas;
+ total_topavail += topavail;
+
for (size_t i = 0; i < nsizes; ++i)
if (sizes[i].count != 0 && i != NFASTBINS)
fprintf (fp, "\
@@ -5527,9 +5534,10 @@ __malloc_info (int options, FILE *fp)
fprintf (fp,
"</sizes>\n<total type=\"fast\" count=\"%zu\" size=\"%zu\"/>\n"
"<total type=\"rest\" count=\"%zu\" size=\"%zu\"/>\n"
+ "<total type=\"top\" count=\"1\" size=\"%zu\"/>\n"
"<system type=\"current\" size=\"%zu\"/>\n"
"<system type=\"max\" size=\"%zu\"/>\n",
- nfastblocks, fastavail, nblocks, avail,
+ nfastblocks, fastavail, nblocks, avail, topavail,
ar_ptr->system_mem, ar_ptr->max_system_mem);
if (ar_ptr != &main_arena)
@@ -5560,6 +5568,7 @@ __malloc_info (int options, FILE *fp)
fprintf (fp,
"<total type=\"fast\" count=\"%zu\" size=\"%zu\"/>\n"
"<total type=\"rest\" count=\"%zu\" size=\"%zu\"/>\n"
+ "<total type=\"top\" count=\"%zu\" size=\"%zu\"/>\n"
"<total type=\"mmap\" count=\"%d\" size=\"%zu\"/>\n"
"<system type=\"current\" size=\"%zu\"/>\n"
"<system type=\"max\" size=\"%zu\"/>\n"
@@ -5567,6 +5576,7 @@ __malloc_info (int options, FILE *fp)
"<aspace type=\"mprotect\" size=\"%zu\"/>\n"
"</malloc>\n",
total_nfastblocks, total_fastavail, total_nblocks, total_avail,
+ total_narenas, total_topavail,
mp_.n_mmaps, mp_.mmapped_mem,
total_system, total_max_system,
total_aspace, total_aspace_mprotect);
--
2.11.0
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic