From 34efd7644eb1d36519fad593cab49f0954b08dba Mon Sep 17 00:00:00 2001
From: Pekka Enberg <penberg@cloudius-systems.com>
Date: Wed, 28 Aug 2013 12:15:40 +0300
Subject: [PATCH] gdb: Add mmap info to 'osv mem'

Now that we can walk through the vma list, add mmap numbers to 'osv
mem':

  (gdb) osv mem
  Total Memory: 4294564864 Bytes
  Mmap Memory:  3278278656 Bytes (76.34%)
  Free Memory:  474492928 Bytes (11.05%)
---
 scripts/loader.py | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/scripts/loader.py b/scripts/loader.py
index ba4151f01..011206c7c 100644
--- a/scripts/loader.py
+++ b/scripts/loader.py
@@ -150,10 +150,19 @@ class osv_memory(gdb.Command):
         freemem = 0
         for page_range in free_page_ranges():
             freemem += int(page_range['size'])
+
+        mmapmem = 0
+        for vma in vma_list():
+            start = ulong(vma['_start'])
+            end   = ulong(vma['_end'])
+            size  = ulong(end - start)
+            mmapmem += size
             
         memsize = gdb.parse_and_eval('memory::phys_mem_size')
         
         print ("Total Memory: %d Bytes" % memsize)
+        print ("Mmap Memory:  %d Bytes (%.2f%%)" %
+               (mmapmem, (mmapmem*100.0/memsize)))
         print ("Free Memory:  %d Bytes (%.2f%%)" % 
                (freemem, (freemem*100.0/memsize)))
 
-- 
GitLab