diff options
author | mtklein <mtklein@chromium.org> | 2015-04-30 07:35:27 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-04-30 07:35:28 -0700 |
commit | f1d6df772ee241c67e29b0d6598576e38551a716 (patch) | |
tree | 251b7e198b37d4f786a0a10403d95d15e2a727da /tools/ProcStats.cpp | |
parent | d75c466ef57ef4dbdf96390b2c01121e4de36f23 (diff) |
Looks like rssPages * pageSize is overflowing on 32-bit Linux...
... resulting in apparently negative memory usage:
(-2040/2058MB 5867) 1.81s serialize-8888 skp top25desk_google_com_calendar_.skp
Turns out long is 32-bit there, long long is 64-bit.
NOTREECHECKS=true
BUG=skia:
Review URL: https://codereview.chromium.org/1117923002
Diffstat (limited to 'tools/ProcStats.cpp')
-rw-r--r-- | tools/ProcStats.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/tools/ProcStats.cpp b/tools/ProcStats.cpp index fc9da23011..a772db4226 100644 --- a/tools/ProcStats.cpp +++ b/tools/ProcStats.cpp @@ -46,10 +46,10 @@ #include <stdio.h> int sk_tools::getCurrResidentSetSizeMB() { const long pageSize = sysconf(_SC_PAGESIZE); - long rssPages = 0; + long long rssPages = 0; if (FILE* statm = fopen("/proc/self/statm", "r")) { // statm contains: program-size rss shared text lib data dirty, all in page counts. - int rc = fscanf(statm, "%*d %ld", &rssPages); + int rc = fscanf(statm, "%*d %lld", &rssPages); fclose(statm); if (rc != 1) { return -1; |