diff options
author | dmikurube@chromium.org <dmikurube@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-17 22:41:43 +0000 |
---|---|---|
committer | dmikurube@chromium.org <dmikurube@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-17 22:41:43 +0000 |
commit | 1b10ead5975236511d7bae65878e465bd63f9f57 (patch) | |
tree | ebebff435913f1821ea3a9a3137871dd66fdcd93 /third_party/tcmalloc | |
parent | 2c867e59c1b35ca4b35cde9108a5b1184ceb640d (diff) | |
download | chromium_src-1b10ead5975236511d7bae65878e465bd63f9f57.zip chromium_src-1b10ead5975236511d7bae65878e465bd63f9f57.tar.gz chromium_src-1b10ead5975236511d7bae65878e465bd63f9f57.tar.bz2 |
Fix virtual memory regression from new tcmalloc: use old kPageShift and kMaxSize w/ kNumClasses = 54. (retry of r127301)
BUG=118329
TEST=perf tests.
TBR=jar@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9722025
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127381 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party/tcmalloc')
-rw-r--r-- | third_party/tcmalloc/chromium/src/common.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/third_party/tcmalloc/chromium/src/common.h b/third_party/tcmalloc/chromium/src/common.h index 4f848fa..2d24218 100644 --- a/third_party/tcmalloc/chromium/src/common.h +++ b/third_party/tcmalloc/chromium/src/common.h @@ -79,14 +79,18 @@ static const size_t kSkippedClasses = (kAlignment < kMinClassSize ? 1 : 0); static const size_t kPageShift = 15; static const size_t kNumClasses = 78 - kSkippedClasses; #else -static const size_t kPageShift = 13; -static const size_t kNumClasses = 86 - kSkippedClasses; +// Original TCMalloc code used kPageShift == 13. In Chromium, we changed +// this to 12 (as was done in prior versions of TCMalloc). +static const size_t kPageShift = 12; +static const size_t kNumClasses = 54 - kSkippedClasses; #endif static const size_t kMaxThreadCacheSize = 4 << 20; static const size_t kPageSize = 1 << kPageShift; -// TODO(dmikurube): We Chromium may want to tune this kMaxSize. -static const size_t kMaxSize = 256 * 1024; +// Original TCMalloc code used kMaxSize == 256 * 1024. In Chromium, we +// changed this to 32K, and represent it in terms of page size (as was done +// in prior versions of TCMalloc). +static const size_t kMaxSize = 8u * kPageSize; // For all span-lengths < kMaxPages we keep an exact-size list. static const size_t kMaxPages = 1 << (20 - kPageShift); |