forked from mozilla/gecko-dev
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bug 1670188 - pt 2. Add a tool that prints the run lengths for size c…
…lasses r=glandium This new program prints the jemalloc configuration, it is only built for --enable-project=memory Differential Revision: https://phabricator.services.mozilla.com/D93184
- Loading branch information
Showing
5 changed files
with
73 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ | ||
/* vim: set ts=8 sts=2 et sw=2 tw=80: */ | ||
/* This Source Code Form is subject to the terms of the Mozilla Public | ||
* License, v. 2.0. If a copy of the MPL was not distributed with this | ||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | ||
|
||
#include <stdio.h> | ||
#include <stdlib.h> | ||
|
||
#include "mozmemory.h" | ||
|
||
/* | ||
* Print the configured size classes which we can then use to update | ||
* documentation. | ||
*/ | ||
int main() { | ||
jemalloc_stats_t stats; | ||
jemalloc_bin_stats_t bin_stats[JEMALLOC_MAX_STATS_BINS]; | ||
|
||
jemalloc_stats(&stats, bin_stats); | ||
|
||
printf("Page size: %5zu\n", stats.page_size); | ||
printf("Chunk size: %5zuKiB\n", stats.chunksize / 1024); | ||
|
||
printf("Quantum: %5zu\n", stats.quantum); | ||
printf("Quantum max: %5zu\n", stats.quantum_max); | ||
printf("Sub-page max: %5zu\n", stats.page_size / 2); | ||
printf("Large max: %5zuKiB\n", stats.large_max / 1024); | ||
|
||
printf("\nBin stats:\n"); | ||
for (auto& bin : bin_stats) { | ||
if (bin.size) { | ||
printf(" Bin %5zu has runs of %3zuKiB\n", bin.size, | ||
bin.bytes_per_run / 1024); | ||
} | ||
} | ||
|
||
return EXIT_SUCCESS; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- | ||
# vim: set filetype=python: | ||
# This Source Code Form is subject to the terms of the Mozilla Public | ||
# License, v. 2.0. If a copy of the MPL was not distributed with this | ||
# file, You can obtain one at http://mozilla.org/MPL/2.0/. | ||
|
||
Program("mozjemalloc-info") | ||
|
||
SOURCES += [ | ||
"/mfbt/Assertions.cpp", | ||
"/mfbt/RandomNum.cpp", | ||
"MozjemallocInfo.cpp", | ||
] | ||
|
||
# Link replace-malloc and the default allocator. | ||
USE_LIBS += [ | ||
"memory", | ||
] | ||
|
||
# The memory library defines this, so it's needed here too. | ||
DEFINES["IMPL_MFBT"] = True | ||
|
||
if CONFIG["MOZ_NEEDS_LIBATOMIC"]: | ||
OS_LIBS += ["atomic"] | ||
|
||
DisableStlWrapping() |