summaryrefslogtreecommitdiffstats
path: root/third_party
diff options
context:
space:
mode:
authordmikurube@chromium.org <dmikurube@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-16 23:43:23 +0000
committerdmikurube@chromium.org <dmikurube@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-16 23:43:23 +0000
commitbe53f3f5fc3dd267596b8aca287e250db38050cb (patch)
treef61cee96f26531332e9b5d9e0984b81f6c2e5a64 /third_party
parent958c79f841bea98be700ee4380dea57de5dac4ae (diff)
downloadchromium_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.h12
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);