Граф коммитов

250 Коммитов

Автор SHA1 Сообщение Дата
Eric Rahm 9feffe31c7 Bug 1194555 - Part 4: Rename GetReportsState PendingProcessesState. r=njn 2015-10-14 16:52:57 -07:00
Eric Rahm b257c6378a Bug 1194555 - Part 3: Remove |getReportsForThisProcess| from the nsIMemoryReporterManager interface. r=njn
|getReportsForThisProcess| differs from |getReports| in that it is limited to current process and is synchronous. When asynchronous memory reporters are added the function will no longer be able tobe synchronous. There isn't much utility in only measuring the current process, so we can remove the function and switch existing users to |getReports|.
2015-10-14 16:52:55 -07:00
Eric Rahm acd4358a2a Bug 1194555 - Part 2: Remove |explicit| attribute from nsIMemoryReporterManager. r=njn
The calculation of |explicit| relies on the synchronous |getReportsForThisProcess|, once we have asynchronous reporters this will no longer work. As it is currently referenced in the about::memory tests we can just remove it.
2015-10-14 16:52:54 -07:00
Eric Rahm 61d0f893cd Bug 1194555 - Part 1: Remove RunReportersForThisProcess. r=njn
RunReportersForThisProcess is no longer used and will no longer work once we have async reporters.
2015-10-14 16:52:53 -07:00
Eric Rahm 45097b163a Bug 1194555 - Part 0: Cleanup GetReportsState constructor. r=njn
Move GetReportsState ctor to the impl so that mChildrenPending doesn't have
to be heap allocated.
2015-10-14 16:52:52 -07:00
Wes Kocher a69f1f52e7 Backed out 7 changesets (bug 1194555) for xpcshell failures
Backed out changeset e77be333f4fb (bug 1194555)
Backed out changeset 11951462a37c (bug 1194555)
Backed out changeset 99b27aa952c5 (bug 1194555)
Backed out changeset 70a8ed3b6a45 (bug 1194555)
Backed out changeset 748bfebe81e7 (bug 1194555)
Backed out changeset cbaac05a2934 (bug 1194555)
Backed out changeset fcbfd1379fcd (bug 1194555)
2015-10-06 14:40:51 -07:00
Eric Rahm f2e4cb7dfe Bug 1194555 - Part 6: Run reporters asynchronously. r=njn,jld 2015-10-06 11:23:36 -07:00
Eric Rahm d3e60f2da6 Bug 1194555 - Part 5: Add option for async memory reporters. r=njn 2015-10-06 11:23:35 -07:00
Eric Rahm 6fd2bbb5e8 Bug 1194555 - Part 4: Rename GetReportsState PendingProcessesState. r=njn 2015-10-06 11:23:34 -07:00
Eric Rahm 16b67b6d6c Bug 1194555 - Part 3: Remove |getReportsForThisProcess| from the nsIMemoryReporterManager interface. r=njn
|getReportsForThisProcess| differs from |getReports| in that it is limited to current process and is synchronous. When asynchronous memory reporters are added the function will no longer be able tobe synchronous. There isn't much utility in only measuring the current process, so we can remove the function and switch existing users to |getReports|.
2015-10-06 11:23:33 -07:00
Eric Rahm 57bd025868 Bug 1194555 - Part 2: Remove |explicit| attribute from nsIMemoryReporterManager. r=njn
The calculation of |explicit| relies on the synchronous |getReportsForThisProcess|, once we have asynchronous reporters this will no longer work. As it is currently referenced in the about::memory tests we can just remove it.
2015-10-06 11:23:32 -07:00
Eric Rahm e15a1912e0 Bug 1194555 - Part 1: Remove RunReportersForThisProcess. r=njn
RunReportersForThisProcess is no longer used and will no longer work once we have async reporters.
2015-10-06 11:23:31 -07:00
Eric Rahm dc17e5a1b8 Bug 1194555 - Part 0: Cleanup GetReportsState constructor. r=njn
Move GetReportsState ctor to the impl so that mChildrenPending doesn't have
to be heap allocated.
2015-10-06 11:23:30 -07:00
Mike Hommey 538706caba Bug 1203840 - Trigger dirty pages purge after CC. r=njn,r=smaug,r=mccr8
Jemalloc 4 purges dirty pages regularly during free() when the ratio of dirty
pages compared to active pages is higher than 1 << lg_dirty_mult.  We set
lg_dirty_mult in jemalloc_config to limit RSS usage, but it also has an impact
on performance.

So instead of enforcing a high ratio to force more pages being purged, we keep
jemalloc's default ratio of 8, and force a regular purge of all dirty pages,
after cycle collection.

Keeping jemalloc's default ratio avoids cycle-collection-triggered purge to
have to go through really all dirty pages when there are a lot, in which case
the normal jemalloc purge during free() will already have kicked in. It also
takes care of everything that doesn't run the cycle collector still having
a level of purge, like plugins in the plugin-container.

At the same time, since jemalloc_purge_freed_pages does nothing with jemalloc 4,
repurpose the MEMORY_FREE_PURGED_PAGES_MS telemetry probe to track the time
spent in this cycle-collector-triggered purge.
2015-09-20 17:43:43 +09:00
Nicholas Nethercote c8578157c2 Bug 1194061 - Implement "system-heap-allocated" reporter for Windows. r=dmajor.
--HG--
extra : rebase_source : a0f31c1ca1c6671d592c73d2473dcc5669022077
2015-08-19 20:35:17 -07:00
Nicholas Nethercote 01a073b5a2 Bug 828844 - Add a "system-heap-allocated" memory report on Linux. r=glandium.
This gives zero when jemalloc is enabled and non-zero when jemalloc is disabled
(e.g. I got 83 MiB at start-up, which sounds plausible).

--HG--
extra : rebase_source : f39a15472d48643f57a77f1df03e4a29543d0867
2015-08-12 17:44:00 -07:00
Nate Hughes 94f8966c4b Bug 986302 - Add memory reporting for HPACK tables r=hurley r=njn 2015-07-17 14:38:10 -07:00
Carsten "Tomcat" Book f7531b86f7 Backed out changeset 8b90b21e0c64 (bug 986302) for static build failures 2015-07-21 08:53:37 +02:00
Nate Hughes 3f6e8d3da5 Bug 986302 - Add memory reporting for HPACK tables. r=hurley r=njn 2015-07-17 14:38:10 -07:00
Ehsan Akhgari 29d8c3e504 Bug 1123386 - Part 3: Mark DoNothingCallback::Callback as override in order to fix a build issue in warnings as errors mode 2015-07-17 22:19:57 -04:00
Birunthan Mohanathas a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Nicholas Nethercote e4c39dc6c4 Bug 1181445 (part 2) - Use nsTHashTable::Iterator in nsMemoryReporterManager. r=froydnj.
--HG--
extra : rebase_source : 038b7ee151880d57066024d940fa112ee282a995
2015-07-08 22:32:39 -07:00
Jed Davis a77ba18be9 Bug 1154053 - Limit concurrency of e10s memory reporting. r=erahm
This changes the way nsMemoryReporterManger handles child processes;
instead of using an observer message and trying to keep a count of child
processes expected to answer, it directly iterates a copy of the list
of content processes and explicitly handles children which exit before
their reports start.

Note that GC/CC logs still run at full concurrency, and that no child
reports start until the parent is finished (see bug 1151597) regardless
of concurrency limit.
2015-05-06 20:51:00 +02:00
Phil Ringnalda c1284c6108 Back out e05936099653 (bug 1154053) on suspicion of causing the hellish frequency of Android 2.3 robocop-2 crashes that resulted in this CLOSED TREE, a=bustage 2015-05-07 22:41:26 -07:00
Jed Davis bc4db515c0 Bug 1154053 - Limit concurrency of e10s memory reporting. r=erahm
This changes the way nsMemoryReporterManger handles child processes;
instead of using an observer message and trying to keep a count of child
processes expected to answer, it directly iterates a copy of the list
of content processes and explicitly handles children which exit before
their reports start.

Note that GC/CC logs still run at full concurrency, and that no child
reports start until the parent is finished (see bug 1151597) regardless
of concurrency limit.
2015-05-06 20:51:00 +02:00
Jed Davis 05e38d787e Bug 1151597 - Step 2: Don't start child process memory reports until parent is finished. r=erahm
--HG--
extra : rebase_source : e271fd7997012d9f3eaff78c1dfff656347442be
2015-04-27 15:46:00 -04:00
Jed Davis 1b9d15f48d Bug 1151597 - Step 1: Change memory reporting IPC to send one report per message. r=erahm
Also fixes bug 1005154 -- since there's now a method for "end of report",
we might as well call it from ActorDestroy instead of Recv__delete__.

--HG--
extra : rebase_source : 89f467fbc553a1a3a4d9b144fff747fa3447f21b
2015-04-27 15:45:00 -04:00
Jed Davis e7a9b7acc7 Bug 1154041 - Enable child process memory report logging by default on B2G. r=erahm 2015-04-24 14:53:00 -04:00
Ehsan Akhgari 883849ee32 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Nicholas Nethercote b5b1a4609e Bug 1145007 (part 2) - Add a "resident-peak" distinguished amount and memory reporter on Unix. r=erahm.
--HG--
extra : rebase_source : 3fb7c2020d3abd29fdbf8042a0932b24d92b234b
2015-03-19 15:16:37 -07:00
Nathan Froyd 4380a42bbc Bug 1141689 - use services::GetObserverService more; r=ehsan 2014-04-29 13:31:06 -04:00
Nicholas Nethercote 237067b8b5 Bug 1138770 - Make memory reporters that have been stashed for testing eligible for unregistration. r=mccr8.
--HG--
extra : rebase_source : 06dcca55a7a47e02d9b43289472c76b810663727
2015-03-02 18:55:42 -08:00
Nicholas Nethercote 285d84d141 Bug 1134030 - Add WindowsAddressSpaceReporter. code=njn,dmajor. r=dmajor,njn. 2015-02-20 13:13:16 +11:00
Daniel Holbert 98fd7110d5 Bug 1125632 followup: Mark remaining CollectReports impls in nsMemoryReporterManager.cpp and SystemMemoryReporter.cpp as MOZ_OVERRIDE. 2015-01-27 09:48:54 -08:00
Daniel Holbert 8ccda8f49a Bug 1125632: Annotate ResidentUniqueReporter::CollectReports as MOZ_OVERRIDE. r=njn 2015-01-25 15:14:00 -08:00
Nicholas Nethercote a479e9ccad Bug 1121830 - DMD: add "num" property to blocks in the output. r=mccr8.
The new "num" property lets identical blocks be aggregated in the output. This
patch only uses the "num" property for dead blocks, because that's where the
greatest potential benefit lies, but it could be used for live blocks as well.

On one test case (a complex PDF file) running with --mode=cumulative
--sample-below=1 this patch had the following effects.

- Change in running speed was negligible.

- Compressed output file size dropped from 8.8 to 5.0 MB.

- Compressed output file size dropped from 297 to 50 MB.

- dmd.py runtime (without stack fixing) dropped from 30 to 8 seconds.

--HG--
extra : rebase_source : 46a32058cd5c31cd823fe3f1accb5e68bcd320f3
2015-01-15 20:38:38 -08:00
James Willcox 352dabf6d6 bug 1118552 - fix gcc4.9 warnings on Android r=glandium 2015-01-06 22:20:46 -05:00
Ehsan Akhgari f32bb086bc Bug 1117035 - Mark virtual overridden functions as MOZ_OVERRIDE in XPCOM; r=froydnj 2015-01-05 11:25:41 -05:00
Nicholas Nethercote 5e166635cb Bug 1094552 (part 6) - DMD: add support for cumulative heap profiling. r=mccr8.
By adding a new "cumulative" mode.

--HG--
extra : rebase_source : 5c851b7c594a134fae48393ff0becfd057715041
2014-10-30 20:22:47 -07:00
Nicholas Nethercote 5fad01bb19 Bug 1094552 (part 3) - DMD: rename |Block| as |LiveBlock|. r=mccr8.
This is to give better contrast with |DeadBlock|, which will be added in the
next patch.

--HG--
extra : rebase_source : cbc767fcc5667cfed108ca7c4ebf1d7e82aa185e
2014-11-18 18:57:20 -08:00
Nicholas Nethercote cb8defd2fa Bug 1061024 (part 2) - Some minor DMD clean-ups. r=jld.
--HG--
extra : rebase_source : f780376e8803222c92a5a92bc4155600e068ce0c
2014-08-31 22:35:28 -07:00
Nicholas Nethercote d64852855e Bug 1061024 (part 1) - Don't run DMD when about:memory's "Measure" button is pressed. r=jld.
--HG--
extra : rebase_source : ddf0236352c64eb9839dfd0a219451a568aba10e
2014-08-31 20:36:26 -07:00
Birunthan Mohanathas 80ef08ccd8 Bug 1046841 - Fix more style violations in previously touched .cpp files in xpcom/. r=froydnj 2014-08-25 12:17:15 -07:00
Ehsan Akhgari 4af9c14370 Bug 1048239 - Fix more bad implicit constructors in XPCOM; r=froydnj 2014-08-05 09:36:32 -04:00
Eric Rahm 4d0205fb6f Bug 1027921 - Part 9: Add DeadlockDetector memory reporter. r=njn, r=froydnj 2014-08-04 16:20:37 -07:00
Nicholas Nethercote f907318caa Bug 1046477 (part 1) - Separate the reporting of the main and static atoms tables. r=froydnj.
--HG--
extra : rebase_source : c60db11fc39d180e43f22e7f395eea24cd358aa3
2014-07-30 23:06:57 -07:00
Daniel Holbert ff3ada8eb7 Bug 1045110 - Add parens around assignment in "while" condition, to silence GCC Wparentheses warning. r=njn 2014-07-28 17:09:00 +02:00
Jan Keromnes f0379ce0c3 Bug 1035396 - Make Linux USS reporting 2x faster. r=nbp,njn 2014-07-21 18:23:49 -07:00
Jan Beich c7cfdee5c9 Bug 1035747 - Fix dangerous public destructors specific to FreeBSD. r=bjacob 2014-07-08 05:21:00 +02:00
Benoit Jacob cb33a38711 Bug 1028588 - Fix more, recently introduced dangerous public destructors - r=ehsan 2014-07-05 16:35:35 -04:00