Commit Graph

226 Commits

Author SHA1 Message Date
Jed Davis
f6d38c4cd3 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
c038529a66 Bug 1151597 - Step 2: Don't start child process memory reports until parent is finished. r=erahm 2015-04-27 15:46:00 -04:00
Jed Davis
5cf29d8289 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__.
2015-04-27 15:45:00 -04:00
Jed Davis
72145bc9c8 Bug 1154041 - Enable child process memory report logging by default on B2G. r=erahm 2015-04-24 14:53:00 -04:00
Ehsan Akhgari
33bb32f549 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
b3230c7a24 Bug 1145007 (part 2) - Add a "resident-peak" distinguished amount and memory reporter on Unix. r=erahm. 2015-03-19 15:16:37 -07:00
Nathan Froyd
e9f067ac2a Bug 1141689 - use services::GetObserverService more; r=ehsan 2014-04-29 13:31:06 -04:00
Nicholas Nethercote
82523cb06a Bug 1138770 - Make memory reporters that have been stashed for testing eligible for unregistration. r=mccr8. 2015-03-02 18:55:42 -08:00
Nicholas Nethercote
84deec6147 Bug 1134030 - Add WindowsAddressSpaceReporter. code=njn,dmajor. r=dmajor,njn. 2015-02-20 13:13:16 +11:00
Daniel Holbert
7dec9ee7ed 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
fe7953382c Bug 1125632: Annotate ResidentUniqueReporter::CollectReports as MOZ_OVERRIDE. r=njn 2015-01-25 15:14:00 -08:00
Nicholas Nethercote
bf937eb0ab 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
16dc163af8 bug 1118552 - fix gcc4.9 warnings on Android r=glandium 2015-01-06 22:20:46 -05:00
Ehsan Akhgari
4f80dee4e8 Bug 1117035 - Mark virtual overridden functions as MOZ_OVERRIDE in XPCOM; r=froydnj 2015-01-05 11:25:41 -05:00
Nicholas Nethercote
5cc6a39a9a 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
b79b7d305e 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
91ccc1a10e 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
1e51d01858 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
6ea79dfc7c 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
8686c5e382 Bug 1048239 - Fix more bad implicit constructors in XPCOM; r=froydnj 2014-08-05 09:36:32 -04:00
Eric Rahm
310f223358 Bug 1027921 - Part 9: Add DeadlockDetector memory reporter. r=njn, r=froydnj 2014-08-04 16:20:37 -07:00
Nicholas Nethercote
2a946ed913 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
16ca0f0f2b 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
5bf3018ec4 Bug 1035396 - Make Linux USS reporting 2x faster. r=nbp,njn 2014-07-21 18:23:49 -07:00
Jan Beich
46c7501bd7 Bug 1035747 - Fix dangerous public destructors specific to FreeBSD. r=bjacob 2014-07-08 05:21:00 +02:00
Benoit Jacob
49fdae91d7 Bug 1028588 - Fix more, recently introduced dangerous public destructors - r=ehsan 2014-07-05 16:35:35 -04:00
Jed Davis
5aed487614 Bug 956961 - Open content processes' DMD log files in the parent process. r=njn
--HG--
extra : rebase_source : 2958f582f43bfac86ec29d784b4fb8825ca17257
extra : histedit_source : 96e39e36cbe506332d761c375b902284a695901a%2C245fc9ec3c6a3bbf4e5e5ce7b0da63f4477f36b9
2014-07-02 15:59:02 -07:00
Wes Kocher
f174cd042e Backed out 3 changesets (bug 956961) for non-unified build bustage
Backed out changeset f1be89cb58b9 (bug 956961)
Backed out changeset 272b01e4f856 (bug 956961)
Backed out changeset 56907af18c66 (bug 956961)
2014-07-02 15:03:29 -07:00
Jed Davis
13464be50b Bug 956961 - Open content processes' DMD log files in the parent process. r=njn 2014-07-02 11:27:48 -07:00
Benoit Jacob
1f73b3fe2e Bug 1028588 - Fix dangerous public destructors in xpcom/ - r=bsmedberg,khuey,nfroyd 2014-06-30 18:11:53 -04:00
Wes Kocher
d65e707f3f Backed out 4 changesets (bug 1028588) for build bustage
Backed out changeset 13a8bae671ca (bug 1028588)
Backed out changeset 19a19833f1d6 (bug 1028588)
Backed out changeset d5fae80054de (bug 1028588)
Backed out changeset 5942ad3859b8 (bug 1028588)
2014-06-30 15:50:19 -07:00
Benoit Jacob
35b82308d8 Bug 1028588 - Fix dangerous public destructors in xpcom/ - r=bsmedberg,khuey,nfroyd 2014-06-30 18:11:53 -04:00
Nicholas Nethercote
39f29c384a Bug 1010064 - Allow memory reports to be anonymized. r=bsmedberg.
--HG--
extra : rebase_source : 5eb756b17a97e751deb0f47e909fdb35533cb23b
2014-05-20 23:06:54 -07:00
Jan Keromnes
78b25a6311 Bug 976024 - Track Unique Set Size in the Developer HUD. r=21, r=njn 2014-06-13 06:38:00 +02:00
Nicolas B. Pierron
389eb6855e Bug 1014071 - Add support for USS on Linux. r=BenWa,njn 2014-06-05 08:31:09 -07:00
Jan Beich
72cc1b277a Bug 1015497 - Enable FifoWatcher and its consumers on every Unix. r=froydn,jld 2014-05-29 05:24:00 +02:00
Eric Rahm
fd5aaf36e7 Bug 1006769 - Part 1: Improve heap-overhead memory reporting. r=njn 2014-05-21 17:34:06 -07:00
Nicholas Nethercote
b8e23eaf85 Bug 1014249 - Beef up the "is DMD enabled?" and "is DMD running?" checks. r=mccr8.
--HG--
extra : rebase_source : 868ce1a1e470e45f51447f5126982aaeb51905f1
2014-05-22 19:45:14 -07:00
Birunthan Mohanathas
c4568a7085 Bug 869836 - Part 6: Use EqualsLiteral instead of Equals where possible. r=ehsan 2014-05-22 06:48:51 +03:00
Birunthan Mohanathas
861e6d5ffe Bug 995730 - Fix style violations in xpcom/base/. r=froydnj,continuation 2014-05-13 20:41:38 +03:00
Birunthan Mohanathas
cf3e12c35a Bug 995730 - Change xpcom/base/ to use 2 space indentation
This also removes trailing whitespace in reindented files.
2014-05-05 20:30:39 +03:00
Birunthan Mohanathas
ff8ce9bd42 Bug 900908 - Part 3: Change uses of numbered macros in nsIClassInfoImpl.h/nsISupportsImpl.h to the variadic variants. r=froydnj 2014-04-27 03:06:00 -04:00
Eric Rahm
18f7073ce7 Bug 1000461 - Enable triggering memory report via fifo device on OS X. r=froydnj 2014-04-24 17:35:59 -07:00
Jed Davis
4742184268 Bug 991791 - Fix some timing-dependent edge cases in nsMemoryReporterManager child handling. r=njn
The patch for bug 946407 changed the state space of
nsMemoryReporterManager in a subtle way: if we're using
MinimizeMemoryUsage with our report, then it's possible for all of
the child processes to finish (or for the timeout to expire) before
the parent has started reporting on itself.  This could cause us to
dereference a null pointer to the state struct in StartGettingReports().

To fix this, we keep track of whether the parent has actually done its
report, and defer finishing the report until then.
2014-04-07 13:33:00 +02:00
Ben Kelly
de721ff0ff Bug 991412: Provide static convenience method to retrieve RSS. r=njn 2014-04-07 10:46:20 -04:00
Ehsan Akhgari
7e1e6e5ff9 Bug 982072 - Don't leak the argument passed to RegisterStrongMemoryReporter if we fail to get the service; r=froydnj 2014-03-11 14:15:27 -04:00
Jed Davis
6a4c4691a0 Bug 946407 - Reimplement DumpMemoryInfoToTempDir in terms of GetReports. r=njn
This winds up exposing things in the nsIMemoryReporterManager interface
that arguably don't belong at that level of abstraction -- "minimize
memory usage first" and DMD -- in order to take advantage of the
infrastructure that GetReports already has for managing the child
processes.
2014-03-04 18:27:13 -08:00
Gabriele Svelto
b7270f6ca1 Bug 975434 - Remove the ability to cancel memory minimizations. r=njn 2014-02-25 16:37:30 +01:00
Nicholas Nethercote
e66386ee26 Bug 956199 - Fix style of xpcom/base/nsMemoryReporterManager.{h,cpp}. r=bsmedberg.
--HG--
extra : rebase_source : 79a8053c97ecb0786f0a722838f66fc85c5e1368
2014-01-02 19:19:32 -08:00
Mike Hommey
9ff8bb64aa Bug 969800 - Fix nsMemoryReporterManager::GetVsize for !HAVE_VSIZE_AND_RESIDENT_REPORTERS and add GNU/kFreeBSD support to nsMemoryReporterManager. r=njn 2014-02-11 10:43:41 +09:00