see also: issue 754918
https://docs.google.com/document/d/1-IRpbQF4KrathwhO0V7KgpDnnGNDr3v-HY4u7kAi5pQ/edit
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4c0f2f5d45b95f48b55e22549e417c42c9a6dc86 commit 4c0f2f5d45b95f48b55e22549e417c42c9a6dc86 Author: Yutaka Hirano <yhirano@chromium.org> Date: Fri Nov 17 04:24:35 2017 Add RendererSideResourceScheduler content feature Bug: 785770 Change-Id: I760033d56ef8d804ef1d396e1b2520f8c90e8b90 Reviewed-on: https://chromium-review.googlesource.com/774342 Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Cr-Commit-Position: refs/heads/master@{#517296} [modify] https://crrev.com/4c0f2f5d45b95f48b55e22549e417c42c9a6dc86/chrome/browser/about_flags.cc [modify] https://crrev.com/4c0f2f5d45b95f48b55e22549e417c42c9a6dc86/chrome/browser/flag_descriptions.cc [modify] https://crrev.com/4c0f2f5d45b95f48b55e22549e417c42c9a6dc86/chrome/browser/flag_descriptions.h [modify] https://crrev.com/4c0f2f5d45b95f48b55e22549e417c42c9a6dc86/content/child/blink_platform_impl.cc [modify] https://crrev.com/4c0f2f5d45b95f48b55e22549e417c42c9a6dc86/content/child/blink_platform_impl.h [modify] https://crrev.com/4c0f2f5d45b95f48b55e22549e417c42c9a6dc86/content/public/common/content_features.cc [modify] https://crrev.com/4c0f2f5d45b95f48b55e22549e417c42c9a6dc86/content/public/common/content_features.h [modify] https://crrev.com/4c0f2f5d45b95f48b55e22549e417c42c9a6dc86/third_party/WebKit/public/platform/Platform.h [modify] https://crrev.com/4c0f2f5d45b95f48b55e22549e417c42c9a6dc86/tools/metrics/histograms/enums.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b4ea3b25e024977c352a1df42f1014d537aa079e commit b4ea3b25e024977c352a1df42f1014d537aa079e Author: Yutaka Hirano <yhirano@chromium.org> Date: Fri Nov 24 08:09:01 2017 Add priority members in ResourceLoadScheduler This change adds priority related members in ResourceLoadScheduler. Currently no priorty is set so this CL doesn't change the behavior. Bug: 785770 Change-Id: I8de1daf599b0196fa73146459f81078acffbcd7e Reviewed-on: https://chromium-review.googlesource.com/788635 Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Cr-Commit-Position: refs/heads/master@{#519066} [modify] https://crrev.com/b4ea3b25e024977c352a1df42f1014d537aa079e/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadScheduler.cpp [modify] https://crrev.com/b4ea3b25e024977c352a1df42f1014d537aa079e/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadScheduler.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/40e191efca5bd293292bb44818440241883c8ad5 commit 40e191efca5bd293292bb44818440241883c8ad5 Author: Yutaka Hirano <yhirano@chromium.org> Date: Thu Nov 30 00:25:59 2017 Merge ResourceLoadPriority and WebURLRequest::Priority blink::ResourceLoadPriority and blink::WebURLRequest::Priority conceptually represent the same thing, so this CL makes the former an alias of the latter. Additionally, this change - Makes WebURLRequest::Priority an enum class instead of an enum - Splits ResourcePriority.h from ResourceLoadPriority.h which will be gone someday. Bug: 785770 Change-Id: I0f36140811b863529746d8c083b91da25ac5f762 Reviewed-on: https://chromium-review.googlesource.com/795518 Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Peter Beverloo <peter@chromium.org> Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Cr-Commit-Position: refs/heads/master@{#520332} [modify] https://crrev.com/40e191efca5bd293292bb44818440241883c8ad5/content/renderer/loader/web_url_loader_impl.cc [modify] https://crrev.com/40e191efca5bd293292bb44818440241883c8ad5/third_party/WebKit/Source/core/css/RemoteFontFaceSource.cpp [modify] https://crrev.com/40e191efca5bd293292bb44818440241883c8ad5/third_party/WebKit/Source/core/exported/WebFrameTest.cpp [modify] https://crrev.com/40e191efca5bd293292bb44818440241883c8ad5/third_party/WebKit/Source/core/inspector/InspectorNetworkAgent.cpp [modify] https://crrev.com/40e191efca5bd293292bb44818440241883c8ad5/third_party/WebKit/Source/core/inspector/InspectorTraceEvents.cpp [modify] https://crrev.com/40e191efca5bd293292bb44818440241883c8ad5/third_party/WebKit/Source/core/loader/FrameFetchContextTest.cpp [modify] https://crrev.com/40e191efca5bd293292bb44818440241883c8ad5/third_party/WebKit/Source/core/loader/LinkLoaderTest.cpp [modify] https://crrev.com/40e191efca5bd293292bb44818440241883c8ad5/third_party/WebKit/Source/core/loader/PingLoaderTest.cpp [modify] https://crrev.com/40e191efca5bd293292bb44818440241883c8ad5/third_party/WebKit/Source/core/loader/ProgressTracker.cpp [modify] https://crrev.com/40e191efca5bd293292bb44818440241883c8ad5/third_party/WebKit/Source/core/loader/ProgressTrackerTest.cpp [modify] https://crrev.com/40e191efca5bd293292bb44818440241883c8ad5/third_party/WebKit/Source/core/loader/modulescript/ModuleScriptLoader.cpp [modify] https://crrev.com/40e191efca5bd293292bb44818440241883c8ad5/third_party/WebKit/Source/core/loader/resource/ImageResourceObserver.h [modify] https://crrev.com/40e191efca5bd293292bb44818440241883c8ad5/third_party/WebKit/Source/core/testing/Internals.cpp [modify] https://crrev.com/40e191efca5bd293292bb44818440241883c8ad5/third_party/WebKit/Source/modules/notifications/NotificationImageLoader.cpp [modify] https://crrev.com/40e191efca5bd293292bb44818440241883c8ad5/third_party/WebKit/Source/platform/loader/BUILD.gn [modify] https://crrev.com/40e191efca5bd293292bb44818440241883c8ad5/third_party/WebKit/Source/platform/loader/fetch/FetchParameters.cpp [modify] https://crrev.com/40e191efca5bd293292bb44818440241883c8ad5/third_party/WebKit/Source/platform/loader/fetch/Resource.h [modify] https://crrev.com/40e191efca5bd293292bb44818440241883c8ad5/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp [modify] https://crrev.com/40e191efca5bd293292bb44818440241883c8ad5/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcherTest.cpp [modify] https://crrev.com/40e191efca5bd293292bb44818440241883c8ad5/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadPriority.h [modify] https://crrev.com/40e191efca5bd293292bb44818440241883c8ad5/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadScheduler.h [modify] https://crrev.com/40e191efca5bd293292bb44818440241883c8ad5/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.cpp [add] https://crrev.com/40e191efca5bd293292bb44818440241883c8ad5/third_party/WebKit/Source/platform/loader/fetch/ResourcePriority.h [modify] https://crrev.com/40e191efca5bd293292bb44818440241883c8ad5/third_party/WebKit/Source/platform/loader/fetch/ResourceRequest.cpp [modify] https://crrev.com/40e191efca5bd293292bb44818440241883c8ad5/third_party/WebKit/Source/platform/loader/fetch/ResourceRequestTest.cpp [modify] https://crrev.com/40e191efca5bd293292bb44818440241883c8ad5/third_party/WebKit/Source/platform/network/NetworkInstrumentation.cpp [modify] https://crrev.com/40e191efca5bd293292bb44818440241883c8ad5/third_party/WebKit/public/platform/WebURLRequest.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/34ca2c891f834a41fcef79234097cb0dbd35e776 commit 34ca2c891f834a41fcef79234097cb0dbd35e776 Author: Yutaka Hirano <yhirano@chromium.org> Date: Fri Dec 01 02:13:32 2017 Put priority information to ResourceLoadScheduler With this CL, ResourceLoader puts priority information to ResourceLoadSchedler when RendererSideResourceScheduler feature is enabled. Bug: 785770 Change-Id: I4b18df640770e9bc775eae7305d6e858155e82de Reviewed-on: https://chromium-review.googlesource.com/795632 Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Cr-Commit-Position: refs/heads/master@{#520799} [modify] https://crrev.com/34ca2c891f834a41fcef79234097cb0dbd35e776/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadScheduler.cpp [modify] https://crrev.com/34ca2c891f834a41fcef79234097cb0dbd35e776/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadScheduler.h [modify] https://crrev.com/34ca2c891f834a41fcef79234097cb0dbd35e776/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadSchedulerTest.cpp [modify] https://crrev.com/34ca2c891f834a41fcef79234097cb0dbd35e776/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.cpp [modify] https://crrev.com/34ca2c891f834a41fcef79234097cb0dbd35e776/third_party/WebKit/Source/platform/loader/fetch/ResourceRequest.cpp [modify] https://crrev.com/34ca2c891f834a41fcef79234097cb0dbd35e776/third_party/WebKit/Source/platform/loader/fetch/ResourceRequest.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c2c40f585f914b69237072be8173a1cef5eb9fce commit c2c40f585f914b69237072be8173a1cef5eb9fce Author: Yutaka Hirano <yhirano@chromium.org> Date: Fri Dec 01 02:41:57 2017 Implement ResourceLoadScheduler::SetPriority This CL implements ResourceLoadScheduler::SetPriority which re-prioritizes a pending request when RendererSideResourceScheduler feature is enabled. Bug: 785770 Change-Id: I0b001f64b5667085a020364c0a419b8f003804cf Reviewed-on: https://chromium-review.googlesource.com/798950 Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org> Cr-Commit-Position: refs/heads/master@{#520814} [modify] https://crrev.com/c2c40f585f914b69237072be8173a1cef5eb9fce/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadScheduler.cpp [modify] https://crrev.com/c2c40f585f914b69237072be8173a1cef5eb9fce/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadScheduler.h [modify] https://crrev.com/c2c40f585f914b69237072be8173a1cef5eb9fce/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadSchedulerTest.cpp [modify] https://crrev.com/c2c40f585f914b69237072be8173a1cef5eb9fce/third_party/WebKit/Source/platform/loader/fetch/ResourceLoader.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/55c5863aefb974e5221335aedd1bfe28285f31d8 commit 55c5863aefb974e5221335aedd1bfe28285f31d8 Author: Yutaka Hirano <yhirano@chromium.org> Date: Fri Dec 01 02:51:01 2017 Make RendererSiderResourceLoader work well with ResourceLoadScheduler Make IsThrottable return false when it's throttled by WebFrameScheduler. Bug: 785770 Change-Id: Idb075c759a10636b406505287b3a1139db54678b Reviewed-on: https://chromium-review.googlesource.com/799539 Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Cr-Commit-Position: refs/heads/master@{#520817} [modify] https://crrev.com/55c5863aefb974e5221335aedd1bfe28285f31d8/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadScheduler.cpp [modify] https://crrev.com/55c5863aefb974e5221335aedd1bfe28285f31d8/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadScheduler.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/da009d152fa1785bb706c1a73af09a48197a34d5 commit da009d152fa1785bb706c1a73af09a48197a34d5 Author: Yutaka Hirano <yhirano@chromium.org> Date: Mon Dec 04 01:32:09 2017 Implment ThrottlingPolicy on ResourceLoadScheduler This CL tightens the throttling policy initially (if certain conditions are met), and loosen the policy when Document::WillInsertBody is called. Bug: 785770 Change-Id: I1fea7ced1105f48dabb25a68a546fd281db5e6eb Reviewed-on: https://chromium-review.googlesource.com/799517 Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Cr-Commit-Position: refs/heads/master@{#521248} [modify] https://crrev.com/da009d152fa1785bb706c1a73af09a48197a34d5/third_party/WebKit/Source/core/dom/Document.cpp [modify] https://crrev.com/da009d152fa1785bb706c1a73af09a48197a34d5/third_party/WebKit/Source/core/loader/FrameFetchContext.h [modify] https://crrev.com/da009d152fa1785bb706c1a73af09a48197a34d5/third_party/WebKit/Source/platform/loader/fetch/FetchContext.h [modify] https://crrev.com/da009d152fa1785bb706c1a73af09a48197a34d5/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.h [modify] https://crrev.com/da009d152fa1785bb706c1a73af09a48197a34d5/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadScheduler.cpp [modify] https://crrev.com/da009d152fa1785bb706c1a73af09a48197a34d5/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadScheduler.h [modify] https://crrev.com/da009d152fa1785bb706c1a73af09a48197a34d5/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadSchedulerTest.cpp [modify] https://crrev.com/da009d152fa1785bb706c1a73af09a48197a34d5/third_party/WebKit/Source/platform/loader/testing/MockFetchContext.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/82c469c893b2762f4d18a0631ca4655456685247 commit 82c469c893b2762f4d18a0631ca4655456685247 Author: Yutaka Hirano <yhirano@chromium.org> Date: Mon Dec 04 23:33:12 2017 Set up a finch experiment on RendererSideResourceScheduler This CL sets the outstanding limits for ResourceLoadScheduler for the experiment, and disables the body detection logic from ResourceScheduler. Bug: 785770 Change-Id: I178d65da2681a1790dc1fc67c1318d9c809007a7 Reviewed-on: https://chromium-review.googlesource.com/799612 Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org> Reviewed-by: Randy Smith <rdsmith@chromium.org> Cr-Commit-Position: refs/heads/master@{#521519} [modify] https://crrev.com/82c469c893b2762f4d18a0631ca4655456685247/content/browser/loader/resource_scheduler.cc [modify] https://crrev.com/82c469c893b2762f4d18a0631ca4655456685247/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadScheduler.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b7411ba82e3efa481767eca8b9e8cf0688d0f248 commit b7411ba82e3efa481767eca8b9e8cf0688d0f248 Author: Yutaka Hirano <yhirano@chromium.org> Date: Mon Dec 11 23:36:30 2017 Cleanup ResourceLoadScheduler This CL consists of bunch of refactoring efforts: - Add explanatory comments. - Rename scheduler() to Scheduler() - Rename WasRan() to WasRun() - Add Release() and ReleaseAndSchedule() to test fixtures as the existing usage in tests are too verbose. - InvalidInstance() now returns a value instead of a mutable reference. Bug: 785770 Change-Id: I80c963a3509cce74aaba28c2b5f62eca47ebe84d Reviewed-on: https://chromium-review.googlesource.com/816276 Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Cr-Commit-Position: refs/heads/master@{#523252} [modify] https://crrev.com/b7411ba82e3efa481767eca8b9e8cf0688d0f248/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadScheduler.cpp [modify] https://crrev.com/b7411ba82e3efa481767eca8b9e8cf0688d0f248/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadScheduler.h [modify] https://crrev.com/b7411ba82e3efa481767eca8b9e8cf0688d0f248/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadSchedulerTest.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/80c2a79a41fc1fa501f138cbe4a5fb3f15c66e9c commit 80c2a79a41fc1fa501f138cbe4a5fb3f15c66e9c Author: Yutaka Hirano <yhirano@chromium.org> Date: Tue Dec 12 09:05:48 2017 Fix typo of RendererSideResourceScheduler feature Bug: 785770 Change-Id: I12060b75d6a8bb84672b939b707ff4459579c171 Reviewed-on: https://chromium-review.googlesource.com/821334 Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Cr-Commit-Position: refs/heads/master@{#523379} [modify] https://crrev.com/80c2a79a41fc1fa501f138cbe4a5fb3f15c66e9c/content/public/common/content_features.cc [modify] https://crrev.com/80c2a79a41fc1fa501f138cbe4a5fb3f15c66e9c/tools/metrics/histograms/enums.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5e728e2585a567a133ccc59638090fc800555f21 commit 5e728e2585a567a133ccc59638090fc800555f21 Author: Yutaka Hirano <yhirano@chromium.org> Date: Tue Dec 12 10:20:05 2017 ResourceLoadScheduler should work with multiple experiments We have two experiments, and currently enabling both would confuse ResourceLoadScheduler. This CL fixes that. Bug: 785770 Change-Id: Iedcd31b85b83dae8397c992e3c769addd9dba956 Reviewed-on: https://chromium-review.googlesource.com/816775 Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org> Cr-Commit-Position: refs/heads/master@{#523390} [modify] https://crrev.com/5e728e2585a567a133ccc59638090fc800555f21/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadScheduler.cpp [modify] https://crrev.com/5e728e2585a567a133ccc59638090fc800555f21/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadScheduler.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/47b8f2451e900fe2c5fc4d94046925f40fea2fc7 commit 47b8f2451e900fe2c5fc4d94046925f40fea2fc7 Author: Yutaka Hirano <yhirano@chromium.org> Date: Tue Dec 12 10:52:56 2017 Update RendererSideResourceScheduler testing config Bug: 785770 , 794073 Change-Id: I0e4ee3a24ee3b480fe88022fc489f231ad779990 Reviewed-on: https://chromium-review.googlesource.com/821335 Reviewed-by: Ilya Sherman <isherman@chromium.org> Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Cr-Commit-Position: refs/heads/master@{#523396} [modify] https://crrev.com/47b8f2451e900fe2c5fc4d94046925f40fea2fc7/testing/variations/fieldtrial_testing_config.json
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/834240f40e8a479ca1ff308b4154b5054f9612aa commit 834240f40e8a479ca1ff308b4154b5054f9612aa Author: Yutaka Hirano <yhirano@chromium.org> Date: Fri Jan 05 06:51:58 2018 Revert "Update RendererSideResourceScheduler testing config" This reverts commit 47b8f2451e900fe2c5fc4d94046925f40fea2fc7. Reason for revert: To address perf regressions. Original change's description: > Update RendererSideResourceScheduler testing config > > Bug: 785770 , 794073 > Change-Id: I0e4ee3a24ee3b480fe88022fc489f231ad779990 > Reviewed-on: https://chromium-review.googlesource.com/821335 > Reviewed-by: Ilya Sherman <isherman@chromium.org> > Commit-Queue: Yutaka Hirano <yhirano@chromium.org> > Cr-Commit-Position: refs/heads/master@{#523396} TBR=isherman@chromium.org,yhirano@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 785770 , 794073 Change-Id: Ia1e0a42fb713055ee8709108e540a1e9f86edb6b Reviewed-on: https://chromium-review.googlesource.com/851772 Reviewed-by: Yutaka Hirano <yhirano@chromium.org> Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Cr-Commit-Position: refs/heads/master@{#527233} [modify] https://crrev.com/834240f40e8a479ca1ff308b4154b5054f9612aa/testing/variations/fieldtrial_testing_config.json
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/165701667fd5a4809566058c73da5c0236526835 commit 165701667fd5a4809566058c73da5c0236526835 Author: Yutaka Hirano <yhirano@chromium.org> Date: Mon Jan 15 06:45:20 2018 Update RendererSideResourceScheduler testing config (Enabled_3_16) This is a reland of https://chromium.googlesource.com/chromium/src/+/47b8f2451e900fe2c5fc4d94046925f40fea2fc7 with modester parameters. Bug: 785770 , 794073 Change-Id: Ie38113ef06ba5f39cd43caf506b7992ad6cb5e4b Reviewed-on: https://chromium-review.googlesource.com/866528 Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Commit-Queue: Ilya Sherman <isherman@chromium.org> Reviewed-by: Ilya Sherman <isherman@chromium.org> Cr-Commit-Position: refs/heads/master@{#529210} [modify] https://crrev.com/165701667fd5a4809566058c73da5c0236526835/testing/variations/fieldtrial_testing_config.json
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/98e7ca04ca813efcabacdc72fe0e298d03bfe20e commit 98e7ca04ca813efcabacdc72fe0e298d03bfe20e Author: Yutaka Hirano <yhirano@chromium.org> Date: Tue Jan 16 10:58:42 2018 Revert "Update RendererSideResourceScheduler testing config (Enabled_3_16)" This reverts commit 165701667fd5a4809566058c73da5c0236526835. Reason for revert: due to performance regressions. Original change's description: > Update RendererSideResourceScheduler testing config (Enabled_3_16) > > This is a reland of > https://chromium.googlesource.com/chromium/src/+/47b8f2451e900fe2c5fc4d94046925f40fea2fc7 > with modester parameters. > > Bug: 785770 , 794073 > Change-Id: Ie38113ef06ba5f39cd43caf506b7992ad6cb5e4b > Reviewed-on: https://chromium-review.googlesource.com/866528 > Commit-Queue: Yutaka Hirano <yhirano@chromium.org> > Commit-Queue: Ilya Sherman <isherman@chromium.org> > Reviewed-by: Ilya Sherman <isherman@chromium.org> > Cr-Commit-Position: refs/heads/master@{#529210} TBR=isherman@chromium.org,yhirano@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 785770 , 794073 Change-Id: I01195b0e88469f67c678ba176a831c862086db67 Reviewed-on: https://chromium-review.googlesource.com/867691 Reviewed-by: Yutaka Hirano <yhirano@chromium.org> Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Cr-Commit-Position: refs/heads/master@{#529397} [modify] https://crrev.com/98e7ca04ca813efcabacdc72fe0e298d03bfe20e/testing/variations/fieldtrial_testing_config.json
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e6395d1c63e9f382fbd13de8bc94796712fd88b2 commit e6395d1c63e9f382fbd13de8bc94796712fd88b2 Author: Yutaka Hirano <yhirano@chromium.org> Date: Wed Jan 17 06:00:00 2018 Update RendererSideResourceScheduler testing config (Enabled_3_1024) This is a reland of https://chromium.googlesource.com/chromium/src/+/47b8f2451e900fe2c5fc4d94046925f40fea2fc7 with modester parameters. Bug: 785770 , 794073 Change-Id: Icab191e655118ff17aa91759bfe8ce9e1e45f6fb Reviewed-on: https://chromium-review.googlesource.com/867824 Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Commit-Queue: Ilya Sherman <isherman@chromium.org> Reviewed-by: Ilya Sherman <isherman@chromium.org> Cr-Commit-Position: refs/heads/master@{#529644} [modify] https://crrev.com/e6395d1c63e9f382fbd13de8bc94796712fd88b2/testing/variations/fieldtrial_testing_config.json
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1942541c406693807f60ccc00fa43f7711e09b0a commit 1942541c406693807f60ccc00fa43f7711e09b0a Author: Yutaka Hirano <yhirano@chromium.org> Date: Fri Feb 02 16:59:24 2018 Revert "Update RendererSideResourceScheduler testing config (Enabled_3_1024)" This reverts commit e6395d1c63e9f382fbd13de8bc94796712fd88b2. Reason for revert: performance regressions Original change's description: > Update RendererSideResourceScheduler testing config (Enabled_3_1024) > > This is a reland of > https://chromium.googlesource.com/chromium/src/+/47b8f2451e900fe2c5fc4d94046925f40fea2fc7 > with modester parameters. > > Bug: 785770 , 794073 > Change-Id: Icab191e655118ff17aa91759bfe8ce9e1e45f6fb > Reviewed-on: https://chromium-review.googlesource.com/867824 > Commit-Queue: Yutaka Hirano <yhirano@chromium.org> > Commit-Queue: Ilya Sherman <isherman@chromium.org> > Reviewed-by: Ilya Sherman <isherman@chromium.org> > Cr-Commit-Position: refs/heads/master@{#529644} TBR=isherman@chromium.org,yhirano@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 785770 , 794073 Change-Id: Ibac8672cc5fb780f6c4b94cbde955fd7686a4041 Reviewed-on: https://chromium-review.googlesource.com/899403 Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Reviewed-by: Yutaka Hirano <yhirano@chromium.org> Cr-Commit-Position: refs/heads/master@{#534076} [modify] https://crrev.com/1942541c406693807f60ccc00fa43f7711e09b0a/testing/variations/fieldtrial_testing_config.json
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/738e48f02a53ff9896361ff4c7d9f2834fc8ff91 commit 738e48f02a53ff9896361ff4c7d9f2834fc8ff91 Author: Yutaka Hirano <yhirano@chromium.org> Date: Wed Feb 07 01:39:37 2018 Remove NetDelayableH2AndQuicRequests from fieldtrial_testing_config This CL removes "NetDelayableH2AndQuicRequests" from fieldtrial_testing_config.json. The feature is disabled by default, and we are disabling it on perf bots now - otherwise it may prevent us from launching RendererSideResourceScheduler. Bug: 785770 , 794073 Change-Id: Ib65fbc5989295537f649fb5211606196efc52416 Reviewed-on: https://chromium-review.googlesource.com/901145 Reviewed-by: Josh Karlin <jkarlin@chromium.org> Reviewed-by: Jesse Doherty <jwd@chromium.org> Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Cr-Commit-Position: refs/heads/master@{#534866} [modify] https://crrev.com/738e48f02a53ff9896361ff4c7d9f2834fc8ff91/testing/variations/fieldtrial_testing_config.json
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/39dcbdf6b649bf959a95239cfe1145a71477105d commit 39dcbdf6b649bf959a95239cfe1145a71477105d Author: Yutaka Hirano <yhirano@chromium.org> Date: Wed Feb 07 09:32:22 2018 Simplify ResourceLoadScheduler::IsThrottablePriority The function corresponds to logic in network::ResourceScheduler::Client::DetermineRequestAttributes. - If the scheduler is in the layout blocking mode and the priority is more than net::MEDIUM, then set kAttributeLayoutBlocking. - If the priority is less than net::MEDIUM, then set kAttributeDelayable. In other words, there are three kinds of requests. Requests with kAttributeLayoutBlocking set, requests with kAttributeDelayable set and requests with neither set. I set different thresholds for each mode in IsThrottablePriority, but it was wrong. Since we don't have a concept corresponding to kAttributeLayoutBlocking in ResourceLoadScheduler, we should use a single threshold. I made one more mistake at that time: Due to the confusing correspondence between blink::WebURLRequest::Priority and net::RequestPriority, "less than net::MEDIUM" is identical to "less than Priority::kHigh". This CL changes the behavior when policy_ == kNormal, but that is not likely to affect performance with current mainstream configurations where the number of delayable requests is high (e.g., 1024). Bug: 785770 Change-Id: I428bb32d0c1fd8bb29220b26de2f189d919df3d1 Reviewed-on: https://chromium-review.googlesource.com/905711 Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Cr-Commit-Position: refs/heads/master@{#534963} [modify] https://crrev.com/39dcbdf6b649bf959a95239cfe1145a71477105d/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadScheduler.cpp [modify] https://crrev.com/39dcbdf6b649bf959a95239cfe1145a71477105d/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadSchedulerTest.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1f25bbc692f06964b5e10c7312f9f81377cdea32 commit 1f25bbc692f06964b5e10c7312f9f81377cdea32 Author: Yutaka Hirano <yhirano@chromium.org> Date: Thu Feb 08 02:49:25 2018 Update RendererSideResourceScheduler testing config (Enabled_2_1024) This is a reland of https://chromium.googlesource.com/chromium/src/+/47b8f2451e900fe2c5fc4d94046925f40fea2fc7 with modester parameters. Bug: 785770 , 794073 Change-Id: I2bfbab05399e33aff76f7f4c13b0dd963fe7a1db Reviewed-on: https://chromium-review.googlesource.com/906262 Reviewed-by: Jesse Doherty <jwd@chromium.org> Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Cr-Commit-Position: refs/heads/master@{#535279} [modify] https://crrev.com/1f25bbc692f06964b5e10c7312f9f81377cdea32/testing/variations/fieldtrial_testing_config.json
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/392731364d805ab0ee42e785382f23e0707f9f9a commit 392731364d805ab0ee42e785382f23e0707f9f9a Author: Yutaka Hirano <yhirano@chromium.org> Date: Wed Feb 14 05:28:27 2018 ResourceLoadScheduler: Count the number of throttlable requests In order to mimic content::ResourceScheduler, this CL has ResourceLoadScheduler count the number of throttlable requests instead of the total number of requests when |frame_scheduler_throttling_state_| is |kNotThrottled|. Bug: 785770 Change-Id: I58a6d4e1f7792443d1051030d8705074e536259e Reviewed-on: https://chromium-review.googlesource.com/915882 Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org> Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Cr-Commit-Position: refs/heads/master@{#536655} [modify] https://crrev.com/392731364d805ab0ee42e785382f23e0707f9f9a/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadScheduler.cpp [modify] https://crrev.com/392731364d805ab0ee42e785382f23e0707f9f9a/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadScheduler.h [modify] https://crrev.com/392731364d805ab0ee42e785382f23e0707f9f9a/third_party/WebKit/Source/platform/loader/fetch/ResourceLoadSchedulerTest.cpp
yutaka, if this is launched, can you mark it fixed? thanks!
Comment 1 by yhirano@chromium.org
, Nov 16 2017