diff options
author | Colin Cross <ccross@android.com> | 2013-05-22 16:33:03 -0700 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2013-06-24 14:55:22 -0700 |
commit | dccd379d2dc4f903b9f9dfd00e2f60747a7bb289 (patch) | |
tree | bd594123364a65cce8c7324c91fc41eeda1d6ae2 /libpagemap | |
parent | 5d461218f8c38dadf831ccc52ac6e5153687cf17 (diff) | |
download | extras-dccd379d2dc4f903b9f9dfd00e2f60747a7bb289.tar.gz |
libpagemap: fix vss calculation
pm_map_usage was not incrementing vss for pages that were in the
process's map but not occupying a physical page. Move the
vss increment above the check for present mappings.
Change-Id: I2706e6fbcbfe7d70f10950333a486d690bc84d6c
Diffstat (limited to 'libpagemap')
-rw-r--r-- | libpagemap/pm_map.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libpagemap/pm_map.c b/libpagemap/pm_map.c index 2d5c2f90..ef9e2ce6 100644 --- a/libpagemap/pm_map.c +++ b/libpagemap/pm_map.c @@ -43,6 +43,8 @@ int pm_map_usage(pm_map_t *map, pm_memusage_t *usage_out) { pm_memusage_zero(&usage); for (i = 0; i < len; i++) { + usage.vss += map->proc->ker->pagesize; + if (!PM_PAGEMAP_PRESENT(pagemap[i]) || PM_PAGEMAP_SWAPPED(pagemap[i])) continue; @@ -51,7 +53,6 @@ int pm_map_usage(pm_map_t *map, pm_memusage_t *usage_out) { &count); if (error) goto out; - usage.vss += map->proc->ker->pagesize; usage.rss += (count >= 1) ? (map->proc->ker->pagesize) : (0); usage.pss += (count >= 1) ? (map->proc->ker->pagesize / count) : (0); usage.uss += (count == 1) ? (map->proc->ker->pagesize) : (0); |