MBI: [1/n] Control kMBIMode feature & param via a gn arg for trybots
kMBIMode is a feature that enables Multiple Blink Isolates work,
which introduces a new scheduling boundary in the render process:
AgentSchedulingGroup.
What this CL sets out to solve:
For MBI, we'd like to have some include-only bots that we can request to
run "all of the tests" that a normal CQ bot would run, but in MBI mode
(with our feature enabled). It's basically a substitute for us uploading
a dummy CL that enables our feature and running the try bots to see what
would fail.
After speaking with hypan@ and I think indirectly, fergal@, the
suggestion to use what bfcache is doing was made, that is, to set-up a
recipe like [1].
However it appears that in order to set this kind of bot up, you would
have to manually specify all of the test targets in the config. That
might be worth doing, but since MBI makes some pretty fundamental
changes, it would be best to run *all* the tests that a normal CQ bot
would run on the waterfall.
After speaking with hypan@ about this, he mentioned the simplest (only?)
way to do this would be to make the feature controllable via gn args,
and create an mb_config that applies the gn arg like:
https://chromium-review.googlesource.com/c/chromium/src/+/2399129/4/tools/mb/mb_config.pyl#2772
Then we'll be able to reuse the default configs that the other waterfall
bots use. For example, [2] uses [3].
[1]: https://source.chromium.org/chromium/chromium/src/+/master:testing/buildbot/chromium.linux.json;l=12199;drc=073d5574fa06b002a5a9754ff24c8e72cac779ea
[2]: https://source.chromium.org/chromium/chromium/src/+/master:tools/mb/mb_config.pyl;l=1283-1285;drc=f64c223e2408d61250660c221d3f26ad28ec9060
[3]: https://source.chromium.org/chromium/chromium/src/+/master:tools/mb/mb_config.pyl;l=2792-2798;drc=f64c223e2408d61250660c221d3f26ad28ec9060
[email protected]
Bug: 1154360
Change-Id: I71eb06b9d63699e8774b5d8fc9abc75e89f05a3b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2577593
Reviewed-by: Kentaro Hara <[email protected]>
Reviewed-by: Kouhei Ueno <[email protected]>
Reviewed-by: Stephen Martinis <[email protected]>
Reviewed-by: Kinuko Yasuda <[email protected]>
Reviewed-by: Tal Pressman <[email protected]>
Commit-Queue: Dominic Farolino <[email protected]>
Cr-Commit-Position: refs/heads/master@{#834836}
diff --git a/content/common/features.gni b/content/common/features.gni
index 0732b2f..08e1e870 100644
--- a/content/common/features.gni
+++ b/content/common/features.gni
@@ -11,6 +11,11 @@
# Whether to perform critical memory pressure handling when in foreground (if
# false, critical memory pressure is treated like moderate pressure in foreground).
allow_critical_memory_pressure_handling_in_foreground = is_chromecast
+
+ # Whether or not MBI mode (Multiple Blink Isolates) should be enabled,
+ # depending on the build argument.
+ mbi_mode = is_linux || is_chromeos || is_mac || is_win || is_android
}
-enable_screen_capture = is_linux || is_chromeos || is_mac || is_win || is_android
+enable_screen_capture =
+ is_linux || is_chromeos || is_mac || is_win || is_android