diff options
author | dmikurube@chromium.org <dmikurube@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-16 23:43:23 +0000 |
---|---|---|
committer | dmikurube@chromium.org <dmikurube@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-16 23:43:23 +0000 |
commit | be53f3f5fc3dd267596b8aca287e250db38050cb (patch) | |
tree | f61cee96f26531332e9b5d9e0984b81f6c2e5a64 /third_party | |
parent | 958c79f841bea98be700ee4380dea57de5dac4ae (diff) | |
download | chromium_src-be53f3f5fc3dd267596b8aca287e250db38050cb.zip chromium_src-be53f3f5fc3dd267596b8aca287e250db38050cb.tar.gz chromium_src-be53f3f5fc3dd267596b8aca287e250db38050cb.tar.bz2 |
Try fixing virtual memory regression from new tcmalloc: use old kPageShift and kMaxSize w/ kNumClasses = 54.
Will be reverted.
BUG=118329
TEST=perf tests.
Review URL: https://chromiumcodereview.appspot.com/9722001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127301 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party')
-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); |