Commit Graph
64 Commits
Author SHA1 Message Date
Paul Bone 1879025654 Bug 2014781 - Restore the sub-page size class r=glandium
This reverts Bug 1980056 part 6.

Differential Revision: https://phabricator.services.mozilla.com/D297237
2026-05-31 23:27:24 +00:00
Silaghi 688b962a0b Revert "Bug 2014781 - gPageSize follows gRealPageSize r=glandium" for causing mochitests failures at toolkit/content
This reverts commit 3c629953cf.

Revert "Bug 2014781 - Restore the sub-page size class r=glandium"

This reverts commit 606f7ea614.
2026-05-14 07:39:36 +00:00
Paul Bone 606f7ea614 Bug 2014781 - Restore the sub-page size class r=glandium
This reverts Bug 1980056 part 6.

Differential Revision: https://phabricator.services.mozilla.com/D297237
2026-05-14 03:15:33 +00:00
Sylvestre Ledru f7691d9032 Bug 2023419 - Remove Emacs/Vim modelines from memory/ r=emilio
replaced by .editorconfig
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D287854
2026-03-17 12:05:51 +00:00
Paul Bone 2ec92a906e Bug 1980056 - pt 6. Remove the sub-page size class r=glandium
With page size limited to 4KiB and the quantum-wide class covering the
range from 512 bytes to 4KiB, the sub-page size class is unused and can
be removed.

Differential Revision: https://phabricator.services.mozilla.com/D259220
2026-02-03 04:14:10 +00:00
agoloman 15e87a3496 Revert "Bug 1980056 - pt 2. Remove the sub-page size class r=glandium" for causing Bug 2010505.
This reverts commit 784e006a34.

Revert "Bug 1980056 - pt 1. Limit logical page size to 4KiB r=glandium"

This reverts commit 01d083e3c6.
2026-01-16 04:20:26 +00:00
Paul Bone 784e006a34 Bug 1980056 - pt 2. Remove the sub-page size class r=glandium
With page size limited to 4KiB and the quantum-wide class covering the
range from 512 bytes to 4KiB, the sub-page size class is unused and can
be removed.

Differential Revision: https://phabricator.services.mozilla.com/D259220
2026-01-15 03:30:13 +00:00
Ryan VanderMeulen f6ae20842d Bug 1991644 - Set the minimum Android version to 26 for LLVM & NDK. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D268815
2025-10-18 00:55:26 +00:00
serge-sans-paille 5946338a6a Bug 1920718 - Annotate all global variable with runtime initialization attributes r=glandium,application-update-reviewers,media-playback-reviewers,anti-tracking-reviewers,places-reviewers,profiler-reviewers,gfx-reviewers,aosmond,lina,nalexander,aabh,geckoview-reviewers,win-reviewers,gstoll,m_kato
MOZ_RUNINIT => initialized at runtime
MOZ_CONSTINIT => initialized at compile time
MOZ_GLOBINIT => initialized either at runtime or compile time, depending on template parameter, macro parameter etc
This annotation is only understood by our clang-tidy plugin. It has no
effect on regular compilation.

Differential Revision: https://phabricator.services.mozilla.com/D223341
2024-10-30 11:05:24 +00:00
Tamas Szentpeteri 8285dfaab8 Backed out changeset 4b1409597101 (bug 1920718) for causing bp bustages on rapl.cpp. 2024-10-08 23:27:18 +03:00
serge-sans-paille 1966f9a43c Bug 1920718 - Annotate all global variable with runtime initialization as MOZ_RUNINIT r=application-update-reviewers,media-playback-reviewers,anti-tracking-reviewers,places-reviewers,profiler-reviewers,gfx-reviewers,aosmond,lina,nalexander,aabh
This annotation is only understood by our clang-tidy plugin. It has no
effect on regular compilation.

Differential Revision: https://phabricator.services.mozilla.com/D223341
2024-10-08 16:49:51 +00:00
serge-sans-paille b70d041323 Bug 1885334 - Change the signature of FdPrintf to use a platform-dependently-sized argument type r=glandium
That way we avoid some spurious casts

Differential Revision: https://phabricator.services.mozilla.com/D204648
2024-04-17 09:36:13 +00:00
Paul Bone 8339509cc6 Bug 1885466 - Rename jemalloc_stats::page_cache to pages_dirty r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D204724
2024-03-28 02:41:09 +00:00
Paul Bone 1340507230 Bug 1857841 - pt 9. Count fresh and madvised memory separately r=glandium
This memory was previously measured as part of committed memory.  However
depending on the OS it will often not be committed.  It's more accurate to
count it separately as part of mozjemalloc's cache of unused pages.

This patch adds counters for both fresh and madvised memory and no-longer
counts either as "committed" as it previously did.

This has the side effect of changing decisions based on the size of this
cache such as when to purge memory.

Differential Revision: https://phabricator.services.mozilla.com/D200415
2024-03-19 01:42:43 +00:00
Serge Guelton 166f30c9fd Bug 1765593 - Cleanup mozilla-unified includes r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D144202
2022-05-03 14:57:45 +00:00
Paul Bone 77f2521440 Bug 1737199 - Avoid some VLAs when using jemalloc_stats r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D129228
2021-10-27 08:46:51 +00:00
criss 4fafb2df88 Backed out changeset 27b73fdbb4a9 (bug 1737199) for causing bustages on memory/replace/logalloc/replay/Replay.cpp. CLOSED TREE 2021-10-26 13:00:29 +03:00
Paul Bone 9b5c9187ca Bug 1737199 - Avoid some VLAs when using jemalloc_stats r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D129228
2021-10-26 05:22:05 +00:00
Paul Bone d51e99da4f Bug 1735250 - Provide a less-magic array size for jemalloc_stats r=glandium
jemalloc_stats takes an array for its second argument.  It expects this
array to have enough space for all the bins, previously the maximum was set
as a magic number.  To make it dependent on the configured bins this patch
replaces the compile-time constant with a function.

Differential Revision: https://phabricator.services.mozilla.com/D127761
2021-10-21 06:42:34 +00:00
Paul Bone b41531f714 Bug 1669392 - Add more jemalloc size classes r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D92729
2021-10-13 06:53:20 +00:00
Marian-Vasile Laza 4107d26ed0 Backed out changeset 9de9bd47c061 (bug 1669392) for causing build bustages. 2021-10-12 04:18:26 +03:00
Paul Bone 70a8b02f11 Bug 1669392 - Add more jemalloc size classes r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D92729
2021-10-12 00:34:38 +00:00
Paul Bone 3e7a5831c5 Bug 1713271 - Capture the initial maps during static initialisation r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D116339
2021-06-17 05:17:06 +00:00
Paul Bone 357a945b08 Bug 1713271 - Provide our own isspace implementation r=glandium
isspace requires data in libc to be initialised.  If we're parsing
/proc/smaps before libc has initialised we need to provide our own
implementation.

Differential Revision: https://phabricator.services.mozilla.com/D116338
2021-06-17 05:17:06 +00:00
Paul Bone 5e82aba7d3 Bug 1671114 - pt 7. Make an ambigious comment clearer r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D113946
2021-05-18 06:33:49 +00:00
Paul Bone 71b2ca6d98 Bug 1671114 - pt 6. Use default values for Replay members r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D104178
2021-05-18 06:33:49 +00:00
Paul Bone 530e119ef4 Bug 1671114 - pt 5. Optionally touch memory as its allocated r=glandium
By touching memory when we allocate it our RSS will more accurately
represent Firefox's memory usage.

Differential Revision: https://phabricator.services.mozilla.com/D98286
2021-05-18 06:33:48 +00:00
Paul Bone 6112f21793 Bug 1671114 - pt 4. Calculate and report RSS in jemalloc-replay r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D94259
2021-05-18 06:33:48 +00:00
Paul Bone e05f3eb2fc Bug 1671114 - pt 3. Allow open/close state for FdReader r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D104177
2021-05-18 06:33:48 +00:00
Paul Bone 21db7f09fb Bug 1671114 - pt 2. Speed up replay of jemalloc_stats calls r=glandium
Calculate the distributions of memory requests in a single pass.

Differential Revision: https://phabricator.services.mozilla.com/D93724
2021-05-18 06:33:47 +00:00
Paul Bone 7abc746c77 Bug 1671114 - pt 1. Report committed memory in logalloc-replay r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D93473
2021-05-18 06:33:47 +00:00
Sylvestre Ledru ee443d03f8 Bug 1519636 - Reformat recent changes to the Google coding style r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D95434
2020-11-04 18:46:00 +00:00
Paul Bone 389911c6a2 Bug 1656155 - pt 7. Add slop histograms r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D88705
2020-10-08 22:35:59 +00:00
Paul Bone 4777cee4e3 Bug 1656155 - pt 6. Add slop information to Replay.cpp r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D88403
2020-10-08 22:44:38 +00:00
Paul Bone d65f8cb730 Bug 1656155 - pt 5. Add bin-stats to the memory replay tool r=glandium
Add more format specifiers to FdPrintf: %, s and add width and precision
specifiers.

Differential Revision: https://phabricator.services.mozilla.com/D87829
2020-10-08 22:44:00 +00:00
Paul Bone e435fc8b31 Bug 1656155 - pt 2. Provide bin usage stats in jemalloc_stats r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D85726
2020-10-08 22:42:45 +00:00
Ehsan Akhgari 498e2df734 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset
2019-01-18 10:16:18 +01:00
Sylvestre Ledru e5a134f73a Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset
2018-11-30 11:46:48 +01:00
Chris Martin c33ce9539b Bug 1402282 - Change jemalloc to use secure random private arena ids r=glandium
Previously the id for a new arena was just a counter that increased by one
every time. For hardening purposes, we want to make private arenas use a secure
random ID, so an attacker will have a more difficult time finding the memory
they are looking for.

Differential Revision: https://phabricator.services.mozilla.com/D10158
2018-11-21 01:52:26 +00:00
arthur.iakab 030300b503 Backed out 2 changesets (bug 1402282) for turning multiple browser chrome bugs into permafail
Backed out changeset db7059b57f92 (bug 1402282)
Backed out changeset cea1d44ac776 (bug 1402282)
2018-11-05 17:56:37 +02:00
Chris Martin 5bf1f9e2d5 Bug 1402282 - Change jemalloc to use secure random arena ids r=glandium
Previously the id for a new arena was just a counter that increased by one
every time. For hardening purposes, we want to make the new counter a secure
random ID, so an attacker will have a more difficult time finding the memory
they are looking for.

Differential Revision: https://phabricator.services.mozilla.com/D10158
2018-11-05 00:27:31 +00:00
Tom Ritter 8fc9977b2c Bug 1480457-Correct typedef so it matches an earlier typedef r=aklotz 2018-08-30 23:05:59 +03:00
Mike Hommey 023abf4b35 Bug 1423000 - Run clang-format in memory/replace/logalloc. r=njn 2017-12-05 08:28:32 +09:00
Mike Hommey afa5810ac9 Bug 1423000 - Reject some more invalid logalloc replay logs. r=njn
For functions with no result, such as free, it's invalid for some string
to appear after the closing parenthesis.
2017-11-30 10:33:18 +09:00
Mike Hommey c53a246fe2 Bug 1423000 - Move MemSlot lookup for replay results into the Replay methods. r=njn
This allows all methods to have the same signature.
2017-11-30 10:31:25 +09:00
Mike Hommey beed19bc62 Bug 1423000 - Count jemalloc_stats as an operation. r=njn
While jemalloc_stats is not actively doing anything, it can be
cumbersome to not have it count as an operation, because the operation
count shown on jemalloc_stats doesn't match the line number in the input
replay log, and the offset grows as the number of jemalloc_stats
operations grows.

While here, also update a comment about the replay log format.
2017-11-30 10:18:39 +09:00
Mike Hommey ad730700b9 Bug 1423000 - Remove Replay::Commit. r=njn
It adds an uncompressible and noticeable time overhead to replaying
logs, even when one is not interested in measuring RSS. This has caused
me to clear the method body on multiple occasions.

If necessary, it is possible to enable zero or junk at the allocator
level for the same effect.
2017-11-30 10:48:41 +09:00
Mike Hommey 730ff37447 Bug 1417234 - Use SRWLock as Mutex for mozjemalloc on Windows. r=njn
SRWLock is more lightweight than CriticalSection, but is only available
on Windows Vista and more. So until we actually dropped support Windows
XP, we had to use CriticalSection.

Now that all supported Windows versions do have SRWLock, this is a
switch we can make, and not only because SRWLock is more lightweight,
but because it can be statically initialized like on other platforms,
allowing to use the same initialization code as on other platforms,
and removing the requirement for a DllMain, which in turn can allow
to statically link mozjemalloc in some cases, instead of requiring a
shared library (DllMain only works on shared libraries), or manually
call the initialization function soon enough.

There is a downside, though: SRWLock, as opposed to CriticalSection, is
not fair, meaning it can have thread scheduling implications, and can
theoretically increase latency on some threads. However, it is the
default used by Rust Mutex, meaning it's at least good enough there.
Let's see how things go with this.
2017-11-14 12:58:33 +09:00
Mike Hommey 8df4ff9d68 Bug 1399350 - Remove jemalloc_*_impl macros. r=njn
Those macros are one more thing that needs to be added when the
mozjemalloc API surface is increased, but after bug 1399350, nothing
actually needs them, so remove them.
2017-09-13 14:25:21 +09:00
Mike Hommey 1f354dbf2a Bug 1363992 - Remove support for making jemalloc4 the default. r=njn 2017-05-11 13:16:00 +09:00