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

7672 Коммитов

Автор SHA1 Сообщение Дата
Patrick McManus fcec57856d bug 603512 - large objects block pipelines r=honzab
the type and state patch tries hard not to form pipelines behind resources that
could become head of line blockers. But of course that requires the ability to
predict the future, and won't be perfect.

This patch reacts to a transaction that has a large response body (defined by
either a large content-length header or actually reading a large number of
chunked bytes) by cancelling any transactions that have been pipelined down the
same connection and rescheduling them elsewhere. It also changes the type of
the connection to "solo", which prevents new transactions from being pipelined
onto this one and provides class-specific negative feedback to the pipeline
manager so that near-future requests to the same host of the same type (e.g.
general) will not be pipelined but other types (e.g. img or js/css) can still
do that.

Content-Length is ideal, because it allows us to identify the problem so early.
But even actually reading the document for a fairly long time gives it a fairly
high probability of not ending soon. (i.e. long document sizes are spread over
a larger range than small ones. duh.)

The pref network.http.pipelining.maxsize controls the threshold. I set the
default at 300KB, which is roughly the bandwidth delay product of a 2mbit 120ms
rtt connection and 1 rtt is mostly what you are giving up by canceling it on
one connection and sending it on another. (modulo maybe needing a handshake).
2012-03-22 19:39:31 -04:00
Patrick McManus 9d93bb408b bug 665885 respect keepalive: "max=" attribute r=honzab 2012-03-22 19:39:31 -04:00
Patrick McManus a991ee2ac4 bug 737155 - httpconnectionmgr::processPendingQ allow more than 1 with pipeline r=honzab 2012-03-22 19:39:31 -04:00
Patrick McManus 5090fe4d7b bug 599164 pipeline with type and state r=honzab 2012-03-22 19:39:31 -04:00
Patrick McManus e79097d459 bug 597684 Implement HTTP Assoc-req and Banned Pipelines on nsHttpConnectionInfo r=honzab 2012-03-22 19:39:31 -04:00
Patrick McManus 44e6aac1f5 bug 447866 http pipelining is bursty r=honzab
--HG--
extra : rebase_source : 87370228074eaff2615b8dcef9b3c0c9b919b3c3
2012-03-22 19:39:31 -04:00
Patrick McManus 0c04fe619d bug 447866 - patch pre.1 for empty nsHttpPipeline::TakeSubTransactions r=honzab
--HG--
extra : rebase_source : 5c21007525883fc74dc70332cf74d8d0bacd9147
2012-03-22 19:39:28 -04:00
Michal Novotny 6251530d71 Bug 722033 - Invalidate cache entry in nsHttpChannel::DoInvalidateCacheEntry() asynchronously 2012-03-22 23:54:20 +01:00
Michal Novotny db5e84d42d Bug 722033 - Use asyncOpenCacheEntry() in nsHttpChannel::OpenOfflineCacheEntryForWriting() 2012-03-22 23:53:55 +01:00
Michal Novotny 19e7c0e85c Bug 722033 - Use asyncOpenCacheEntry() in nsHttpChannel when flag LOAD_BYPASS_LOCAL_CACHE_IF_BUSY is set 2012-03-22 23:53:10 +01:00
Henri Sivonen 31192f4b01 Bug 737417 part 1 - Split charset source constants out of nsIParser.h. r=smaug. 2012-03-22 16:42:42 +02:00
Jim Mathies b77ab70c98 Bug 737986 - win8 dev kit fixup for win wifi includes, r=dougt 2012-03-22 09:18:43 -05:00
julian.reschke@gmx.de cb943f718a Bug 714302: add suport for HTTP status code 308 r=mcmanus
--HG--
extra : rebase_source : 2e4a46ac5ebe89a36fb4b12b1985d07d674db5e8
2012-03-21 16:13:42 -04:00
julian.reschke@gmx.de 5510563e68 Bug 384571: RFC 2231 parameters not decoded when appearing in reversed order. r=jduell 2012-03-20 14:08:30 -07:00
Matt Brubeck 40f3f77d22 Back out 1bbe7ea3a01e through 672cc4ee2dd9 because of mochitest-browser-chrome leaks 2012-03-20 12:53:10 -07:00
Patrick McManus 4f0fd68fcb bug 717759 - negative pipeline feedback on img decode problem r=bz r=jdrew r=honzab
--HG--
extra : rebase_source : cb9795b5442102a777602f59c225ab9572e06cea
2012-03-20 13:11:32 -04:00
Patrick McManus b4527a1fee bug 717350 doom cache entry on last-modified mismatch r=honzab
--HG--
extra : rebase_source : 5c8692c94bf7e5dcb2d381a85e06bddbabffe22c
2012-03-20 13:11:32 -04:00
Patrick McManus 5f20e88e8c bug 671591 - restart partial http transaction (in progress) r=honzab
--HG--
extra : rebase_source : 9f71e1803e25c10f6be5f48f324eb47fa8d707c3
2012-03-20 13:11:32 -04:00
Patrick McManus 33df1770ee bug 603514 - http stalled read detection r=honzab
When a connection that involves a pipelined transaction has been stalled (i.e.
idle with an open transaction, not an idle persistent connection) for a
second move any transactions that are pipelined after the current one onto
different connections (and implicitly close this connection when done with the
current transaction).

when it has been stalled for 10 seconds (pref configurable), cancel the current
transaction itself too - depending on its state it can hopefully be restarted
on a clean connection.

--HG--
extra : rebase_source : 58377c9eab2f8a81b7a2d3b9a5f12e1134da4031
2012-03-20 13:11:32 -04:00
Patrick McManus 7bb8d667c5 bug 603512 - large objects block pipelines r=honzab
the type and state patch tries hard not to form pipelines behind resources that
could become head of line blockers. But of course that requires the ability to
predict the future, and won't be perfect.

This patch reacts to a transaction that has a large response body (defined by
either a large content-length header or actually reading a large number of
chunked bytes) by cancelling any transactions that have been pipelined down the
same connection and rescheduling them elsewhere. It also changes the type of
the connection to "solo", which prevents new transactions from being pipelined
onto this one and provides class-specific negative feedback to the pipeline
manager so that near-future requests to the same host of the same type (e.g.
general) will not be pipelined but other types (e.g. img or js/css) can still
do that.

Content-Length is ideal, because it allows us to identify the problem so early.
But even actually reading the document for a fairly long time gives it a fairly
high probability of not ending soon. (i.e. long document sizes are spread over
a larger range than small ones. duh.)

The pref network.http.pipelining.maxsize controls the threshold. I set the
default at 300KB, which is roughly the bandwidth delay product of a 2mbit 120ms
rtt connection and 1 rtt is mostly what you are giving up by canceling it on
one connection and sending it on another. (modulo maybe needing a handshake).

--HG--
extra : rebase_source : ebc44f8dfc3fa7bcee613ff3b74269d908ceac51
2012-03-20 13:11:32 -04:00
Patrick McManus 2a95fe8c89 bug 665885 respect keepalive: "max=" attribute r=honzab
--HG--
extra : rebase_source : ce4009c19bb786388338778d594ca8038a4398c1
2012-03-20 13:11:32 -04:00
Patrick McManus cb1e7c1f50 bug 737155 - httpconnectionmgr::processPendingQ allow more than 1 with pipeline r=honzab
--HG--
extra : rebase_source : 94c50c125fc66c9d5b4389e20b0187ee40c2e315
2012-03-20 13:11:32 -04:00
Patrick McManus 28c3c87c12 bug 599164 pipeline with type and state r=honzab
--HG--
extra : rebase_source : b060665a1726eab3e3ef0ab0d94c34cfea5c1460
2012-03-20 13:11:32 -04:00
Patrick McManus 92aaf5d2fc bug 597684 Implement HTTP Assoc-req and Banned Pipelines on nsHttpConnectionInfo r=honzab
--HG--
extra : rebase_source : 26243e1af9e0554553520dae435cc4dcfd551746
2012-03-20 13:11:32 -04:00
Patrick McManus 0fb95ce9a6 bug 447866 http pipelining is bursty r=honzab
--HG--
extra : rebase_source : e927c5961b2f6c79c1aa73897900e95ed3f286c5
2012-03-20 13:11:32 -04:00
Gervase Markham 55cdd1d821 Bug 716607 - Add .pm, .wf, .yt to PSL. r=pkasting. 2012-03-20 15:04:40 +00:00
Phil Ringnalda 20a51706b5 Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-03-17 16:57:05 -07:00
Chris Jones bd2a374d8d Bug 736778: Work around probable compiler bug breaking DEBUG builds of GonkCaptureProvider. r=fabrice (npotb) 2012-03-17 14:42:24 -07:00
Jason Duell 6f6fea1c3a Backed out changeset cd5ac132e763 2012-03-15 23:36:01 -07:00
Jason Duell 5f425f90fa Backed out changeset cd5ac132e763 2012-03-15 23:35:51 -07:00
Jason Duell c155c57334 Backed out changeset 5aaec7f808b6 2012-03-15 20:56:23 -07:00
Jason Duell 933e449701 Backed out changeset 5aaec7f808b6 2012-03-15 20:55:44 -07:00
John Daggett f6d4d913cf Bug 512566. Changes based on review comments. r=bz,jfkthame 2012-03-16 12:31:01 +09:00
John Daggett 498718a3eb Bug 512566. Load font data url's synchronously, netwerk/style changes. r=bz 2012-03-16 12:31:01 +09:00
Jason Duell a9a1ab5d46 Bug 664163: I will back this out when xpcshell test_traceable.js fails eventually. r=jduell 2012-03-15 18:54:58 -07:00
julian.reschke@gmx.de be32749df7 Bug 384571: RFC 2231 parameters not decoded when appearing in reversed order r=jduell 2012-03-04 14:12:00 -08:00
Jason Duell 363ad0c493 Bug 648878 - I will backout: investigating inbound-only failure r=jduell 2012-03-15 13:00:20 -07:00
Jason Duell 34ca2b0ca5 Backed out c9265ada6f40 2012-03-15 15:05:41 -07:00
Jason Duell 0b3384a3d3 Backed out changeset c9265ada6f40 2012-03-15 15:05:22 -07:00
Derrick Rice b9bda1d71d Bug 732363 - Avoid running test_net_addr on windows; it is failing for unknown reasons (race?) r=jdm 2012-03-15 07:10:00 -04:00
Patrick McManus 25951fb3a6 bug 735552 - wrong assert on shutdown in nsHttpConnectionMgr::ReportSpdyConnection r=honzab
--HG--
extra : rebase_source : 8baf5fbae8d9ad8196fd699191c0013f7ea8f424
2012-03-15 00:03:04 -04:00
Phil Ringnalda b75cba0410 Back out 9899522b6ad9 (bug 664163) 2012-03-13 22:11:55 -07:00
Jason Duell 95eecd06bc Bug 664163: Yes this will get backed out: see bug. r=jdm 2012-03-13 18:46:30 -07:00
Jason Duell 3f8a3cbbae Backed out changeset fd30aea30b03 2012-03-13 15:12:46 -07:00
Jason Duell 5a8fe38d77 Backed out changeset fd30aea30b03 2012-03-13 15:10:01 -07:00
Daniel Holbert b6a058aba2 Bug 621446: followup to investigation patch - wrap MSVC-only pragma in ifdef so other compilers don't complain about it. r=jduell 2012-03-13 14:57:28 -07:00
Jason Duell 676749395d Bug 664163 - Fix Get(Local|Remote)(Address|Port) in HttpChannelChild. r=jdm 2012-03-13 11:49:01 -07:00
Justin Lebar 1fc1dc1879 Bug 729940 - Part 2: Stop using crappy hash functions in Gecko. r=bz
--HG--
extra : rebase_source : 6fa267a89878cc1a766d8618569debcea9b12e48
2012-03-12 18:53:18 -04:00
Kai Engert 08fa2a808f Bug 650355, Stop accepting MD5 as a hash algorithm in certificate signatures, r=johnath 2012-03-16 16:42:51 +01:00
Kai Engert eaff5fa503 Bug 732390, Add preference to configure acceptance of MD5 in signatures, still accept by default, NSS calls r+=rrelyea, PSM pref code r+=honzab, pref name feedback+=dveditz 2012-03-10 22:18:13 +01:00