Closed
Bug 559714
Opened 15 years ago
Closed 14 years ago
e10s HTTP: disable cache and any other unused large memory consumers
Categories
(Core :: Networking: HTTP, defect)
Tracking
()
RESOLVED
FIXED
Tracking | Status | |
---|---|---|
fennec | 2.0b2+ | --- |
People
(Reporter: jduell.mcbugs, Assigned: jduell.mcbugs)
References
Details
Attachments
(2 files, 4 obsolete files)
3.83 KB,
patch
|
Details | Diff | Splinter Review | |
1.07 KB,
patch
|
jduell.mcbugs
:
review+
|
Details | Diff | Splinter Review |
Now that we're shipping HTTP to chrome we should turn off the disk and memory cache in the child process. There may be other HTTP data structures we can disable as well. We need to keep the atom table, and we're keeping the socket transport thread around to service FTP.
Comment 1•15 years ago
|
||
We should fix FTP. I thought we decided that we weren't going to support loading FTP content in-browser, just downloading it, and so the content process didn't need to handle FTP. We shouldn't have:
* any socket transport goop
* NSS/PSM
* caches
We should probably add assertions/aborts to the constructors of those services so that we see them.
Assignee | ||
Comment 2•15 years ago
|
||
I agree about NSS/PSM. We may need to keep a small cache to support FTP directory listings.
For FTP see bug 536289. Perhaps we're on the wrong track there, but the plan has been to keep it running in content.
Comment 3•15 years ago
|
||
Over to Michal to work on at least disabling the disk cache in the child process.
Assignee: nobody → michal.novotny
Assignee | ||
Comment 4•15 years ago
|
||
As mentioned in the conference call today, we're going to turn off the entire socket transport thread and not have FTP run in content, so this may mean you can turn off more things than previously indicated. Feel free to open separate bugs as seems sensible.
Comment 5•15 years ago
|
||
Attachment #443504 -
Flags: review?(jduell.mcbugs)
Comment 6•15 years ago
|
||
Attachment #443506 -
Flags: review?(jduell.mcbugs)
Comment 7•15 years ago
|
||
The DNS service is used in the child process by nsHTMLDNSPrefetch but AFAICS this doesn't work correctly because the prefetch should be done in the parent process. So we should call DNS service via IPC and disable it in the child, right?
Assignee | ||
Comment 8•15 years ago
|
||
Comment on attachment 443504 [details] [diff] [review]
turn off the cache
Looks fine to me, but I want biesi to look at it if possible, just to be sure.
Attachment #443504 -
Flags: superreview?(cbiesinger)
Attachment #443504 -
Flags: review?(jduell.mcbugs)
Attachment #443504 -
Flags: review+
Assignee | ||
Comment 9•15 years ago
|
||
Comment on attachment 443506 [details] [diff] [review]
turn off socket transport service
Also looks fine, but I want biesi to look at it if possible, just to be sure.
Attachment #443506 -
Flags: superreview?(cbiesinger)
Attachment #443506 -
Flags: review?(jduell.mcbugs)
Attachment #443506 -
Flags: review+
Assignee | ||
Comment 10•15 years ago
|
||
> The DNS service is used in the child process by nsHTMLDNSPrefetch but AFAICS
this doesn't work correctly because the prefetch should be done in the parent
process. So we should call DNS service via IPC and disable it in the child,
right?
That makes sense to me. Cc'ing les biez, as they ought to know for sure.
Comment 11•15 years ago
|
||
Indeed.
Updated•15 years ago
|
Attachment #443504 -
Flags: superreview?(cbiesinger) → superreview+
Comment 12•15 years ago
|
||
Comment on attachment 443506 [details] [diff] [review]
turn off socket transport service
+++ b/netwerk/protocol/http/src/nsHttpHandler.cpp
+#ifdef MOZ_IPC
+ if (!mozilla::net::IsNeckoChild()) {
+#endif
rv = InitConnectionMgr();
if (NS_FAILED(rv)) return rv;
+#ifdef MOZ_IPC
+ }
+#endif
I think this one would be better inside of InitConectionMgr, that way it can better ensure that it doesn't get created. Note that there is another call to InitConnectionMgr in this file.
Attachment #443506 -
Flags: superreview?(cbiesinger) → superreview-
Comment 13•15 years ago
|
||
Yeah, dns prefetch needs to move out of the child process.
Assignee | ||
Comment 14•15 years ago
|
||
Note that we don't want to land these patches until we've landed FTP in chrome, etc.
Assignee | ||
Updated•15 years ago
|
Comment 15•15 years ago
|
||
Attachment #443506 -
Attachment is obsolete: true
Attachment #449010 -
Flags: superreview?(cbiesinger)
Updated•15 years ago
|
Attachment #449010 -
Flags: superreview?(cbiesinger) → superreview+
Comment 16•14 years ago
|
||
The two patches in this bug are ready to land, it seems. Can someone get them in? Is there more to do here, past those two patches?
Keywords: checkin-needed
Comment 17•14 years ago
|
||
I'll create a patch to turn off the DNS service too.
The patches can't land until bugs 536289 and 565163 are fixed.
Updated•14 years ago
|
tracking-fennec: --- → 2.0b1+
If the patches can't land yet, please don't mark them checkin-needed.
Keywords: checkin-needed
Assignee | ||
Comment 19•14 years ago
|
||
I'm taking this. Hope to have done very soon. Some clients may need changes to behave well in complete absence of nsICacheService.
Assignee: michal.novotny → jduell.mcbugs
Comment 20•14 years ago
|
||
Bug 536289 is still opened, so these patches can't land.
Assignee | ||
Comment 21•14 years ago
|
||
We should be able to land the patch that disables the cache, which is the big size win, and split disabling the socket transport thread into a different bug.
The existing FTP code handles not having a cache service. I'm going through the other protocols and uses of the cache service to see if there's anything that needs tweaking to work w/o the cache svc.
Assignee | ||
Comment 22•14 years ago
|
||
Turning off the cache is possibly problematic for wyciwyg channels (in unmodified state--we have patch for e10s version in bug 561085)
In interim, landed bug 595293, which turns off disk cache in the child, and shrinks memory cache to 1 MB.
This bug should be changed to blocking-fennec-2.0
tracking-fennec: 2.0b1+ → ?
Comment 23•14 years ago
|
||
I'd argue for b2+, since wyciwyg and FTP are marked as such, so we should be able to do this all in one fell swoop. :)
Updated•14 years ago
|
tracking-fennec: ? → 2.0b2+
Assignee | ||
Comment 24•14 years ago
|
||
Comment on attachment 443504 [details] [diff] [review]
turn off the cache
Note that we should remove the changes from the patch for bug 595293 when we land this.
Comment 25•14 years ago
|
||
Unbitrot.
Updated•14 years ago
|
Attachment #484445 -
Attachment is obsolete: true
Comment 26•14 years ago
|
||
Unbitrot.
Comment 27•14 years ago
|
||
Updated•14 years ago
|
Attachment #449010 -
Attachment is obsolete: true
Updated•14 years ago
|
Attachment #443504 -
Attachment is obsolete: true
Comment 28•14 years ago
|
||
Turning off the socket transport is a nonstarter, it turns out, since it's needed by nsServerSocket which is created by httpd.js which is launched in child netwerk ipc tests.
Assignee | ||
Comment 29•14 years ago
|
||
Hmm, allegedly child processes can't open sockets in Android (or maybe that's just regular file handles?). I wonder how httpd.js works in Android if that's true.
Assignee | ||
Comment 30•14 years ago
|
||
Comment on attachment 484448 [details] [diff] [review]
Turn off cache in the child process
Passes try. Let's land and open a followup for turning off the socket transport thread (or not).
Attachment #484448 -
Flags: review+
Assignee | ||
Updated•14 years ago
|
Keywords: checkin-needed
Assignee | ||
Comment 31•14 years ago
|
||
Oh, and please back out the patch from
http://hg.mozilla.org/mozilla-central/rev/d20225a9200a
as part of landing this. They won't break anything if they remain, but they're now superfluous with the cache turned off.
Comment 32•14 years ago
|
||
Comment 33•14 years ago
|
||
Ack, forgot about comment 31.
Comment 34•14 years ago
|
||
Comment 35•14 years ago
|
||
(In reply to comment #34)
> Comment 31 addressed by http://hg.mozilla.org/mozilla-central/rev/ddc9d5258911
which I just backed out in http://hg.mozilla.org/mozilla-central/rev/10a6c004b114
http://tinderbox.mozilla.org/showlog.cgi?log=Mobile/1287942026.1287942118.30460.gz
Updated•14 years ago
|
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Comment 36•14 years ago
|
||
This bug is resolved. We can still back out the push from bug 595293, but it's not going to cause any problems if we don't.
Status: REOPENED → RESOLVED
Closed: 14 years ago → 14 years ago
Resolution: --- → FIXED
Assignee | ||
Comment 37•14 years ago
|
||
Mother always told me to compile my patches on at least one platform before checking them in to mozilla-central :)
Re-pushed backout of bug 595293:
http://hg.mozilla.org/mozilla-central/rev/b67099fcd4d8
You need to log in
before you can comment on or make changes to this bug.
Description
•