Bug 1410206 - Remove non-e10s support from talos; r=jmaher
authorRob Wood <rwood@mozilla.com>
Thu, 26 Oct 2017 15:16:40 -0400
changeset 388764 0f5cb58689c24d999d6804f1b17d1fd9794cf9d6
parent 388763 905239391e05483e8fb221378dd2092c5a0df8b7
child 388765 9ded8c9fd0d253bc781f970c30daf6ae6119e32d
push id54258
push userrwood@mozilla.com
push dateFri, 27 Oct 2017 19:07:35 +0000
treeherderautoland@0f5cb58689c2 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjmaher
bugs1410206
milestone58.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1410206 - Remove non-e10s support from talos; r=jmaher MozReview-Commit-ID: 2iCM35XAXJM
testing/talos/talos/cmdline.py
testing/talos/talos/config.py
testing/talos/talos/pageloader/chrome/pageloader.js
testing/talos/talos/pageloader/components/tp-cmdline.js
testing/talos/talos/pageloader/install.rdf
testing/talos/talos/pageloader/pageloader-signed.xpi
testing/talos/talos/run_tests.py
testing/talos/talos/test.py
--- a/testing/talos/talos/cmdline.py
+++ b/testing/talos/talos/cmdline.py
@@ -65,19 +65,16 @@ def create_parser(mach_interface=False):
     add_arg('--browserWait', dest='browser_wait', default=5, type=int,
             help="Amount of time allowed for the browser to cleanly close")
     add_arg('-a', '--activeTests',
             help="List of tests to run, separated by ':' (ex. damp:cart)")
     add_arg('--suite',
             help="Suite to use (instead of --activeTests)")
     add_arg('--subtests',
             help="Name of the subtest(s) to run (works only on DAMP)")
-    add_arg('--disable-e10s', dest='e10s',
-            action='store_false', default=True,
-            help="disable e10s")
     add_arg('--noChrome', action='store_true',
             help="do not run tests as chrome")
     add_arg('--mainthread', action='store_true',
             help="Collect mainthread IO data from the browser by setting"
                  " an environment variable")
     add_arg("--mozAfterPaint", action='store_true', dest="tpmozafterpaint",
             help="wait for MozAfterPaint event before recording the time")
     add_arg("--firstPaint", action='store_true', dest="firstpaint",
--- a/testing/talos/talos/config.py
+++ b/testing/talos/talos/config.py
@@ -25,34 +25,32 @@ DEFAULTS = dict(
     buildid='testbuildid',
     init_url='getInfo.html',
     env={'NO_EM_RESTART': '1'},
     # base data for all tests
     basetest=dict(
         cycles=1,
         profile_path='${talos}/base_profile',
         responsiveness=False,
-        e10s=False,
         gecko_profile=False,
         gecko_profile_interval=1,
         gecko_profile_entries=100000,
         resolution=1,
         mainthread=False,
         shutdown=False,
         timeout=3600,
         tpchrome=True,
         tpcycles=10,
         tpmozafterpaint=False,
         fnbpaint=False,
         firstpaint=False,
         format_pagename=True,
         userready=False,
         testeventmap=[],
         base_vs_ref=False,
-        tpdisable_e10s=False,
         tpnoisy=True,
         tppagecycles=1,
         tploadnocache=False,
         tpscrolltest=False,
         tprender=False,
         win_counters=[],
         w7_counters=[],
         linux_counters=[],
@@ -285,22 +283,17 @@ def set_webserver(config):
     port = sock.getsockname()[1]
     sock.close()
 
     config['webserver'] = 'localhost:%d' % port
 
 
 @validator
 def update_prefs(config):
-    # if e10s is enabled, set prefs accordingly
-    if config['e10s']:
-        config['preferences']['browser.tabs.remote.autostart'] = True
-    else:
-        config['preferences']['browser.tabs.remote.autostart'] = False
-
+    config['preferences']['browser.tabs.remote.autostart'] = True
     # update prefs from command line
     prefs = config.pop('extraPrefs')
     if prefs:
         for arg in prefs:
             k, v = arg.split('=', 1)
             config['preferences'][k] = utils.parse_pref(v)
 
 
@@ -433,17 +426,16 @@ def tests(config):
 
 def get_browser_config(config):
     required = ('preferences', 'extensions', 'browser_path', 'browser_wait',
                 'extra_args', 'buildid', 'env', 'init_url', 'webserver')
     optional = {'bcontroller_config': '${talos}/bcontroller.json',
                 'branch_name': '',
                 'child_process': 'plugin-container',
                 'develop': False,
-                'e10s': False,
                 'process': '',
                 'framework': 'talos',
                 'repository': None,
                 'sourcestamp': None,
                 'symbols_path': None,
                 'test_timeout': 1200,
                 'xperf_path': None,
                 'error_filename': None,
--- a/testing/talos/talos/pageloader/chrome/pageloader.js
+++ b/testing/talos/talos/pageloader/chrome/pageloader.js
@@ -41,18 +41,16 @@ var running = false;
 var forceCC = true;
 
 var useMozAfterPaint = false;
 var useFNBPaint = false;
 var gPaintWindow = window;
 var gPaintListener = false;
 var loadNoCache = false;
 var scrollTest = false;
-var gDisableE10S = false;
-var gUseE10S = false;
 var profilingInfo = false;
 var baseVsRef = false;
 
 var isIdleCallbackPending = false;
 
 // when TEST_DOES_OWN_TIMING, we need to store the time from the page as MozAfterPaint can be slower than pageload
 var gTime = -1;
 var gStartTime = -1;
@@ -149,17 +147,16 @@ function plInit() {
     if (args.filter) pageFilterRegexp = new RegExp(args.filter);
     if (args.noisy) noisy = true;
     if (args.timeout) timeout = parseInt(args.timeout);
     if (args.delay) delay = parseInt(args.delay);
     if (args.mozafterpaint) useMozAfterPaint = true;
     if (args.fnbpaint) useFNBPaint = true;
     if (args.loadnocache) loadNoCache = true;
     if (args.scrolltest) scrollTest = true;
-    if (args.disableE10S) gDisableE10S = true;
     if (args.profilinginfo) profilingInfo = JSON.parse(args.profilinginfo)
 
     if (profilingInfo) {
       TalosParentProfiler.initFromObject(profilingInfo);
     }
 
     forceCC = !args.noForceCC;
     doRenderTest = args.doRender;
@@ -229,43 +226,38 @@ function plInit() {
 
     var browserLoadFunc = function(ev) {
       browserWindow.removeEventListener("load", browserLoadFunc, true);
 
       // do this half a second after load, because we need to be
       // able to resize the window and not have it get clobbered
       // by the persisted values
       setTimeout(function() {
-        // For e10s windows, since bug 1261842, the initial browser is remote unless
-        // it attempts to browse to a URI that should be non-remote (landed at bug 1047603).
+        // Since bug 1261842, the initial browser is remote unless it attempts
+        // to browse to a URI that should be non-remote (landed at bug 1047603).
         //
         // However, when it loads a URI that requires a different remote type,
         // we lose the load listener and the injected tpRecordTime.remote,
         //
         // It also probably means that per test (or, in fact, per pageloader browser
         // instance which adds the load listener and injects tpRecordTime), all the
         // pages should be able to load in the same mode as the initial page - due
         // to this reinitialization on the switch.
-        if (browserWindow.gMultiProcessBrowser) {
-          let remoteType = E10SUtils.getRemoteTypeForURI(pageUrls[0], true);
-          if (remoteType) {
-            browserWindow.XULBrowserWindow.forceInitialBrowserRemote(remoteType);
-          } else {
-            browserWindow.XULBrowserWindow.forceInitialBrowserNonRemote(null);
-          }
+        let remoteType = E10SUtils.getRemoteTypeForURI(pageUrls[0], true);
+        if (remoteType) {
+          browserWindow.XULBrowserWindow.forceInitialBrowserRemote(remoteType);
+        } else {
+          browserWindow.XULBrowserWindow.forceInitialBrowserNonRemote(null);
         }
 
         browserWindow.resizeTo(winWidth, winHeight);
         browserWindow.moveTo(0, 0);
         browserWindow.focus();
 
         content = browserWindow.getBrowser();
-        gUseE10S = !gDisableE10S || (plPageFlags() & EXECUTE_SCROLL_TEST) ||
-                    (content.selectedBrowser &&
-                    content.selectedBrowser.getAttribute("remote") == "true")
 
         // Load the frame script for e10s / IPC message support
         let contentScript = "data:,function _contentLoadHandler(e) { " +
           "  if (e.originalTarget.defaultView == content) { " +
           "    content.wrappedJSObject.tpRecordTime = function(t, s, n) { sendAsyncMessage('PageLoader:RecordTime', { time: t, startTime: s, testName: n }); }; ";
         // setup idle-callback
         contentScript += "" +
         "var idleCallbackHandle; " +
@@ -490,21 +482,18 @@ var plNextPage = async function() {
     if (forceCC) {
       var tccstart = new Date();
       window.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
             .getInterface(Components.interfaces.nsIDOMWindowUtils)
             .garbageCollect();
       var tccend = new Date();
       report.recordCCTime(tccend - tccstart);
 
-      // Now asynchronously trigger GC / CC in the content process if we're
-      // in an e10s window.
-      if (browserWindow.gMultiProcessBrowser) {
-        await forceContentGC();
-      }
+      // Now asynchronously trigger GC / CC in the content process
+      await forceContentGC();
     }
 
     setTimeout(plLoadPage, delay);
   } else {
     plStop(false);
   }
 };
 
@@ -722,17 +711,17 @@ function _loadHandler(fnbpaint = 0) {
   plRecordTime(duration);
 
   if (doRenderTest)
     runRenderTest();
 
   plNextPage();
 }
 
-// the core handler for remote (e10s) browser
+// the core handler
 function plLoadHandlerMessage(message) {
   let fnbpaint = 0;
   if (message.json.fnbpaint !== undefined) {
     fnbpaint = message.json.fnbpaint;
   }
   failTimeout.clear();
 
   if ((plPageFlags() & EXECUTE_SCROLL_TEST)) {
@@ -759,17 +748,17 @@ function plLoadHandlerMessage(message) {
         runRenderTest();
       plNextPage();
     }
   } else {
     _loadHandler(fnbpaint);
   }
 }
 
-// the record time handler used for remote (e10s) browser
+// the record time handler
 function plRecordTimeMessage(message) {
   gTime = message.json.time;
   gStartTime = message.json.startTime;
   recordedName = message.json.testName;
 
   if (useMozAfterPaint) {
     gStartTime = message.json.startTime;
   }
--- a/testing/talos/talos/pageloader/components/tp-cmdline.js
+++ b/testing/talos/talos/pageloader/components/tp-cmdline.js
@@ -95,17 +95,16 @@ PageLoaderCmdLineHandler.prototype =
       args.noisy = cmdLine.handleFlag("tpnoisy", false);
       args.timeout = cmdLine.handleFlagWithParam("tptimeout", false);
       args.delay = cmdLine.handleFlagWithParam("tpdelay", false);
       args.noForceCC = cmdLine.handleFlag("tpnoforcecc", false);
       args.mozafterpaint = cmdLine.handleFlag("tpmozafterpaint", false);
       args.fnbpaint = cmdLine.handleFlag("fnbpaint", false);
       args.loadnocache = cmdLine.handleFlag("tploadnocache", false);
       args.scrolltest = cmdLine.handleFlag("tpscrolltest", false);
-      args.disableE10s = cmdLine.handleFlag("tpdisable_e10s", false);
     } catch (e) {
       return;
     }
 
     let chromeURL = "chrome://pageloader/content/pageloader.xul";
 
     args.wrappedJSObject = args;
     Services.ww.openWindow(null, chromeURL, "_blank",
@@ -129,18 +128,17 @@ PageLoaderCmdLineHandler.prototype =
   "  -tbprofilinginfo       A JSON object describing profiler settings\n" +
   "  -tpoffline             Force offline mode\n" +
   "  -tpnoisy               Dump the name of the last loaded page to console\n" +
   "  -tptimeout             Max amount of time given for a page to load, quit if exceeded\n" +
   "  -tpdelay               Amount of time to wait between each pageload\n" +
   "  -tpnoforcecc           Don't force cycle collection between each pageload\n" +
   "  -tpmozafterpaint       Measure Time after recieving MozAfterPaint event instead of load event\n" +
   "  -fnbpaint  Measure time after a first non-blank paint has occurred\n" +
-  "  -tpscrolltest          Unknown\n" +
-  "  -tpdisable_e10s        disable pageloader e10s code path\n"
+  "  -tpscrolltest          Unknown\n"
 };
 
 
 var PageLoaderCmdLineFactory =
 {
   createInstance(outer, iid) {
     if (outer != null) {
       throw Components.results.NS_ERROR_NO_AGGREGATION;
--- a/testing/talos/talos/pageloader/install.rdf
+++ b/testing/talos/talos/pageloader/install.rdf
@@ -1,15 +1,15 @@
 <?xml version="1.0"?>
 
 <RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
      xmlns:em="http://www.mozilla.org/2004/em-rdf#">
   <Description about="urn:mozilla:install-manifest">
     <em:id>pageloader@mozilla.org</em:id>
-    <em:version>1.0.29</em:version>
+    <em:version>1.0.30</em:version>
     <em:targetApplication>
       <Description>
         <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
         <em:minVersion>44.0</em:minVersion>
         <em:maxVersion>*</em:maxVersion>
       </Description>
     </em:targetApplication>
     <!-- Front End MetaData -->
index 41d7a39d83fc428b9c3a3e018159cd0345a34430..0ff2653559ab0509ac189e678aea33c1e2ce82d0
GIT binary patch
literal 30535
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
--- a/testing/talos/talos/run_tests.py
+++ b/testing/talos/talos/run_tests.py
@@ -54,19 +54,18 @@ def buildCommandLine(test):
         LOG.info("Gecko profiling is enabled so talos is reducing the number "
                  "of cycles, please disregard reported numbers")
         for cycle_var in ['tppagecycles', 'tpcycles', 'cycles']:
             if test[cycle_var] > 2:
                 test[cycle_var] = 2
 
     # build pageloader command from options
     url = ['-tp', test['tpmanifest']]
-    CLI_bool_options = ['tpchrome', 'tpmozafterpaint', 'tpdisable_e10s',
-                        'tpnoisy', 'tprender', 'tploadnocache',
-                        'tpscrolltest', 'fnbpaint']
+    CLI_bool_options = ['tpchrome', 'tpmozafterpaint', 'tpnoisy', 'tprender',
+                        'tploadnocache', 'tpscrolltest', 'fnbpaint']
     CLI_options = ['tpcycles', 'tppagecycles', 'tpdelay', 'tptimeout']
     for key in CLI_bool_options:
         if test.get(key):
             url.append('-%s' % key)
 
     for key in CLI_options:
         value = test.get(key)
         if value:
@@ -186,19 +185,18 @@ def run_tests(config, browser_config):
         )
     else:
         # local mode, output to files
         results_urls = dict(output_urls=[os.path.abspath('local.json')])
 
     httpd = setup_webserver(browser_config['webserver'])
     httpd.start()
 
-    # if e10s add as extra results option
-    if config['e10s']:
-        talos_results.add_extra_option('e10s')
+    # legacy still required for perfherder data
+    talos_results.add_extra_option('e10s')
 
     # stylo is another option for testing
     if config['enable_stylo']:
         talos_results.add_extra_option('stylo')
     if config['disable_stylo']:
         talos_results.add_extra_option('stylo_disabled')
 
     # measuring the difference of a a certain thread level
--- a/testing/talos/talos/test.py
+++ b/testing/talos/talos/test.py
@@ -715,17 +715,16 @@ class dromaeo_dom(dromaeo):
     See the Dromaeo wiki (https://wiki.mozilla.org/Dromaeo)
     for more information.
 
     Each page in the manifest is part of the dromaemo dom benchmark.
     """
     gecko_profile_interval = 2
     gecko_profile_entries = 10000000
     tpmanifest = '${talos}/tests/dromaeo/dom.manifest'
-    tpdisable_e10s = True
     unit = 'score'
 
 
 @register_test()
 class tsvgm(PageloaderTest):
     """
     An svg-only number that measures SVG rendering performance
     for dynamic content only.