aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Kevin Lubick <kjlubick@google.com>2017-11-28 08:33:37 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-11-28 13:37:17 +0000
commit082f00a60e3e9a5980eb1fb9612cf0284156ff84 (patch)
treedc2d3b6e998004b766b264998a6ed0acd1e2845d
parent7f1b4f8cc39cfe5717db2a4a16bfd9e23cd49c50 (diff)
Don't scale CPU for internal bots
For internal hardware, it tends not to work - they work at one clock speed, despite advertising others. Bug: skia: NOTRY=true Change-Id: I10bf0fc1ab4d60bfbc2eefcef5b42ceab9e3f435 Reviewed-on: https://skia-review.googlesource.com/76720 Commit-Queue: Kevin Lubick <kjlubick@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com>
-rw-r--r--infra/bots/recipe_modules/flavor/gn_android_flavor.py3
-rw-r--r--infra/bots/recipes/test.expected/internal_bot_1.json75
-rw-r--r--infra/bots/recipes/test.expected/internal_bot_2.json75
3 files changed, 2 insertions, 151 deletions
diff --git a/infra/bots/recipe_modules/flavor/gn_android_flavor.py b/infra/bots/recipe_modules/flavor/gn_android_flavor.py
index abd9ecb10c..0f5a94a2bb 100644
--- a/infra/bots/recipe_modules/flavor/gn_android_flavor.py
+++ b/infra/bots/recipe_modules/flavor/gn_android_flavor.py
@@ -71,7 +71,8 @@ class GNAndroidFlavorUtils(default_flavor.DefaultFlavorUtils):
'MotoG4', 'NVIDIA_Shield']
def _lock_cpu(self, target_percent):
- if self.m.vars.builder_cfg.get('model') in self.rootable_blacklist:
+ if (self.m.vars.builder_cfg.get('model') in self.rootable_blacklist or
+ self.m.vars.internal_hardware_label):
return
self.m.run(self.m.python.inline, 'Scale CPU to %f' % target_percent,
program="""
diff --git a/infra/bots/recipes/test.expected/internal_bot_1.json b/infra/bots/recipes/test.expected/internal_bot_1.json
index 0dab500abf..7f4bc298e8 100644
--- a/infra/bots/recipes/test.expected/internal_bot_1.json
+++ b/infra/bots/recipes/test.expected/internal_bot_1.json
@@ -655,81 +655,6 @@
},
{
"cmd": [
- "python",
- "-u",
- "\nimport os\nimport subprocess\nimport sys\nADB = sys.argv[1]\nmodel = sys.argv[2]\ntarget_percent = float(sys.argv[3])\nlog = subprocess.check_output([ADB, 'root'])\n# check for message like 'adbd cannot run as root in production builds'\nif 'cannot' in log:\n raise Exception('adb root failed')\n\nif model == 'Nexus10':\n available_freqs = [200000, 300000, 400000, 500000, 600000, 700000, 800000]\nelif model == 'Nexus7':\n # Nexus7 claims to support 1300000, but only really allows 1200000\n available_freqs = [51000, 102000, 204000, 340000, 475000, 640000, 760000,\n 860000, 1000000, 1100000, 1200000]\nelse:\n # Most devices give a list of their available frequencies.\n available_freqs = subprocess.check_output([ADB, 'shell', 'cat '\n '/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies'])\n\n # Check for message like '/system/bin/sh: file not found'\n if available_freqs and '/system/bin/sh' not in available_freqs:\n available_freqs = sorted(\n int(i) for i in available_freqs.strip().split())\n else:\n raise Exception('Could not get list of available frequencies: %s' %\n available_freqs)\n\nmaxfreq = available_freqs[-1]\ntarget = int(round(maxfreq * target_percent))\nfreq = maxfreq\nfor f in reversed(available_freqs):\n if f <= target:\n freq = f\n break\n\nprint 'Setting frequency to %d' % freq\n\nsubprocess.check_output([ADB, 'shell', 'echo \"userspace\" > '\n '/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor'])\n# If scaling_max_freq is lower than our attempted setting, it won't take.\nsubprocess.check_output([ADB, 'shell', 'echo %d > '\n '/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq' % freq])\nsubprocess.check_output([ADB, 'shell', 'echo %d > '\n '/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed' % freq])\nactual_freq = subprocess.check_output([ADB, 'shell', 'cat '\n '/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed']).strip()\nif actual_freq != str(freq):\n raise Exception('(actual, expected) (%s, %d)'\n % (actual_freq, freq))\n",
- "adb.1.0.35",
- "Nexus7",
- "1.0"
- ],
- "env": {
- "BUILDTYPE": "Debug",
- "CHROME_HEADLESS": "1",
- "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
- "SKIA_OUT": "[START_DIR]/out"
- },
- "infra_step": true,
- "name": "Scale CPU to 1.000000",
- "timeout": 30,
- "~followup_annotations": [
- "@@@STEP_LOG_LINE@python.inline@@@@",
- "@@@STEP_LOG_LINE@python.inline@import os@@@",
- "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
- "@@@STEP_LOG_LINE@python.inline@import sys@@@",
- "@@@STEP_LOG_LINE@python.inline@ADB = sys.argv[1]@@@",
- "@@@STEP_LOG_LINE@python.inline@model = sys.argv[2]@@@",
- "@@@STEP_LOG_LINE@python.inline@target_percent = float(sys.argv[3])@@@",
- "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output([ADB, 'root'])@@@",
- "@@@STEP_LOG_LINE@python.inline@# check for message like 'adbd cannot run as root in production builds'@@@",
- "@@@STEP_LOG_LINE@python.inline@if 'cannot' in log:@@@",
- "@@@STEP_LOG_LINE@python.inline@ raise Exception('adb root failed')@@@",
- "@@@STEP_LOG_LINE@python.inline@@@@",
- "@@@STEP_LOG_LINE@python.inline@if model == 'Nexus10':@@@",
- "@@@STEP_LOG_LINE@python.inline@ available_freqs = [200000, 300000, 400000, 500000, 600000, 700000, 800000]@@@",
- "@@@STEP_LOG_LINE@python.inline@elif model == 'Nexus7':@@@",
- "@@@STEP_LOG_LINE@python.inline@ # Nexus7 claims to support 1300000, but only really allows 1200000@@@",
- "@@@STEP_LOG_LINE@python.inline@ available_freqs = [51000, 102000, 204000, 340000, 475000, 640000, 760000,@@@",
- "@@@STEP_LOG_LINE@python.inline@ 860000, 1000000, 1100000, 1200000]@@@",
- "@@@STEP_LOG_LINE@python.inline@else:@@@",
- "@@@STEP_LOG_LINE@python.inline@ # Most devices give a list of their available frequencies.@@@",
- "@@@STEP_LOG_LINE@python.inline@ available_freqs = subprocess.check_output([ADB, 'shell', 'cat '@@@",
- "@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies'])@@@",
- "@@@STEP_LOG_LINE@python.inline@@@@",
- "@@@STEP_LOG_LINE@python.inline@ # Check for message like '/system/bin/sh: file not found'@@@",
- "@@@STEP_LOG_LINE@python.inline@ if available_freqs and '/system/bin/sh' not in available_freqs:@@@",
- "@@@STEP_LOG_LINE@python.inline@ available_freqs = sorted(@@@",
- "@@@STEP_LOG_LINE@python.inline@ int(i) for i in available_freqs.strip().split())@@@",
- "@@@STEP_LOG_LINE@python.inline@ else:@@@",
- "@@@STEP_LOG_LINE@python.inline@ raise Exception('Could not get list of available frequencies: %s' %@@@",
- "@@@STEP_LOG_LINE@python.inline@ available_freqs)@@@",
- "@@@STEP_LOG_LINE@python.inline@@@@",
- "@@@STEP_LOG_LINE@python.inline@maxfreq = available_freqs[-1]@@@",
- "@@@STEP_LOG_LINE@python.inline@target = int(round(maxfreq * target_percent))@@@",
- "@@@STEP_LOG_LINE@python.inline@freq = maxfreq@@@",
- "@@@STEP_LOG_LINE@python.inline@for f in reversed(available_freqs):@@@",
- "@@@STEP_LOG_LINE@python.inline@ if f <= target:@@@",
- "@@@STEP_LOG_LINE@python.inline@ freq = f@@@",
- "@@@STEP_LOG_LINE@python.inline@ break@@@",
- "@@@STEP_LOG_LINE@python.inline@@@@",
- "@@@STEP_LOG_LINE@python.inline@print 'Setting frequency to %d' % freq@@@",
- "@@@STEP_LOG_LINE@python.inline@@@@",
- "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo \"userspace\" > '@@@",
- "@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor'])@@@",
- "@@@STEP_LOG_LINE@python.inline@# If scaling_max_freq is lower than our attempted setting, it won't take.@@@",
- "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo %d > '@@@",
- "@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq' % freq])@@@",
- "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo %d > '@@@",
- "@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed' % freq])@@@",
- "@@@STEP_LOG_LINE@python.inline@actual_freq = subprocess.check_output([ADB, 'shell', 'cat '@@@",
- "@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed']).strip()@@@",
- "@@@STEP_LOG_LINE@python.inline@if actual_freq != str(freq):@@@",
- "@@@STEP_LOG_LINE@python.inline@ raise Exception('(actual, expected) (%s, %d)'@@@",
- "@@@STEP_LOG_LINE@python.inline@ % (actual_freq, freq))@@@",
- "@@@STEP_LOG_END@python.inline@@@"
- ]
- },
- {
- "cmd": [
"adb.1.0.35",
"push",
"[START_DIR]/out/Debug/dm",
diff --git a/infra/bots/recipes/test.expected/internal_bot_2.json b/infra/bots/recipes/test.expected/internal_bot_2.json
index bc893f0d14..a5b7b46388 100644
--- a/infra/bots/recipes/test.expected/internal_bot_2.json
+++ b/infra/bots/recipes/test.expected/internal_bot_2.json
@@ -655,81 +655,6 @@
},
{
"cmd": [
- "python",
- "-u",
- "\nimport os\nimport subprocess\nimport sys\nADB = sys.argv[1]\nmodel = sys.argv[2]\ntarget_percent = float(sys.argv[3])\nlog = subprocess.check_output([ADB, 'root'])\n# check for message like 'adbd cannot run as root in production builds'\nif 'cannot' in log:\n raise Exception('adb root failed')\n\nif model == 'Nexus10':\n available_freqs = [200000, 300000, 400000, 500000, 600000, 700000, 800000]\nelif model == 'Nexus7':\n # Nexus7 claims to support 1300000, but only really allows 1200000\n available_freqs = [51000, 102000, 204000, 340000, 475000, 640000, 760000,\n 860000, 1000000, 1100000, 1200000]\nelse:\n # Most devices give a list of their available frequencies.\n available_freqs = subprocess.check_output([ADB, 'shell', 'cat '\n '/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies'])\n\n # Check for message like '/system/bin/sh: file not found'\n if available_freqs and '/system/bin/sh' not in available_freqs:\n available_freqs = sorted(\n int(i) for i in available_freqs.strip().split())\n else:\n raise Exception('Could not get list of available frequencies: %s' %\n available_freqs)\n\nmaxfreq = available_freqs[-1]\ntarget = int(round(maxfreq * target_percent))\nfreq = maxfreq\nfor f in reversed(available_freqs):\n if f <= target:\n freq = f\n break\n\nprint 'Setting frequency to %d' % freq\n\nsubprocess.check_output([ADB, 'shell', 'echo \"userspace\" > '\n '/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor'])\n# If scaling_max_freq is lower than our attempted setting, it won't take.\nsubprocess.check_output([ADB, 'shell', 'echo %d > '\n '/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq' % freq])\nsubprocess.check_output([ADB, 'shell', 'echo %d > '\n '/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed' % freq])\nactual_freq = subprocess.check_output([ADB, 'shell', 'cat '\n '/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed']).strip()\nif actual_freq != str(freq):\n raise Exception('(actual, expected) (%s, %d)'\n % (actual_freq, freq))\n",
- "adb.1.0.35",
- "Nexus7",
- "1.0"
- ],
- "env": {
- "BUILDTYPE": "Debug",
- "CHROME_HEADLESS": "1",
- "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
- "SKIA_OUT": "[START_DIR]/out"
- },
- "infra_step": true,
- "name": "Scale CPU to 1.000000",
- "timeout": 30,
- "~followup_annotations": [
- "@@@STEP_LOG_LINE@python.inline@@@@",
- "@@@STEP_LOG_LINE@python.inline@import os@@@",
- "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
- "@@@STEP_LOG_LINE@python.inline@import sys@@@",
- "@@@STEP_LOG_LINE@python.inline@ADB = sys.argv[1]@@@",
- "@@@STEP_LOG_LINE@python.inline@model = sys.argv[2]@@@",
- "@@@STEP_LOG_LINE@python.inline@target_percent = float(sys.argv[3])@@@",
- "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output([ADB, 'root'])@@@",
- "@@@STEP_LOG_LINE@python.inline@# check for message like 'adbd cannot run as root in production builds'@@@",
- "@@@STEP_LOG_LINE@python.inline@if 'cannot' in log:@@@",
- "@@@STEP_LOG_LINE@python.inline@ raise Exception('adb root failed')@@@",
- "@@@STEP_LOG_LINE@python.inline@@@@",
- "@@@STEP_LOG_LINE@python.inline@if model == 'Nexus10':@@@",
- "@@@STEP_LOG_LINE@python.inline@ available_freqs = [200000, 300000, 400000, 500000, 600000, 700000, 800000]@@@",
- "@@@STEP_LOG_LINE@python.inline@elif model == 'Nexus7':@@@",
- "@@@STEP_LOG_LINE@python.inline@ # Nexus7 claims to support 1300000, but only really allows 1200000@@@",
- "@@@STEP_LOG_LINE@python.inline@ available_freqs = [51000, 102000, 204000, 340000, 475000, 640000, 760000,@@@",
- "@@@STEP_LOG_LINE@python.inline@ 860000, 1000000, 1100000, 1200000]@@@",
- "@@@STEP_LOG_LINE@python.inline@else:@@@",
- "@@@STEP_LOG_LINE@python.inline@ # Most devices give a list of their available frequencies.@@@",
- "@@@STEP_LOG_LINE@python.inline@ available_freqs = subprocess.check_output([ADB, 'shell', 'cat '@@@",
- "@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies'])@@@",
- "@@@STEP_LOG_LINE@python.inline@@@@",
- "@@@STEP_LOG_LINE@python.inline@ # Check for message like '/system/bin/sh: file not found'@@@",
- "@@@STEP_LOG_LINE@python.inline@ if available_freqs and '/system/bin/sh' not in available_freqs:@@@",
- "@@@STEP_LOG_LINE@python.inline@ available_freqs = sorted(@@@",
- "@@@STEP_LOG_LINE@python.inline@ int(i) for i in available_freqs.strip().split())@@@",
- "@@@STEP_LOG_LINE@python.inline@ else:@@@",
- "@@@STEP_LOG_LINE@python.inline@ raise Exception('Could not get list of available frequencies: %s' %@@@",
- "@@@STEP_LOG_LINE@python.inline@ available_freqs)@@@",
- "@@@STEP_LOG_LINE@python.inline@@@@",
- "@@@STEP_LOG_LINE@python.inline@maxfreq = available_freqs[-1]@@@",
- "@@@STEP_LOG_LINE@python.inline@target = int(round(maxfreq * target_percent))@@@",
- "@@@STEP_LOG_LINE@python.inline@freq = maxfreq@@@",
- "@@@STEP_LOG_LINE@python.inline@for f in reversed(available_freqs):@@@",
- "@@@STEP_LOG_LINE@python.inline@ if f <= target:@@@",
- "@@@STEP_LOG_LINE@python.inline@ freq = f@@@",
- "@@@STEP_LOG_LINE@python.inline@ break@@@",
- "@@@STEP_LOG_LINE@python.inline@@@@",
- "@@@STEP_LOG_LINE@python.inline@print 'Setting frequency to %d' % freq@@@",
- "@@@STEP_LOG_LINE@python.inline@@@@",
- "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo \"userspace\" > '@@@",
- "@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor'])@@@",
- "@@@STEP_LOG_LINE@python.inline@# If scaling_max_freq is lower than our attempted setting, it won't take.@@@",
- "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo %d > '@@@",
- "@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq' % freq])@@@",
- "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo %d > '@@@",
- "@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed' % freq])@@@",
- "@@@STEP_LOG_LINE@python.inline@actual_freq = subprocess.check_output([ADB, 'shell', 'cat '@@@",
- "@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed']).strip()@@@",
- "@@@STEP_LOG_LINE@python.inline@if actual_freq != str(freq):@@@",
- "@@@STEP_LOG_LINE@python.inline@ raise Exception('(actual, expected) (%s, %d)'@@@",
- "@@@STEP_LOG_LINE@python.inline@ % (actual_freq, freq))@@@",
- "@@@STEP_LOG_END@python.inline@@@"
- ]
- },
- {
- "cmd": [
"adb.1.0.35",
"push",
"[START_DIR]/out/Debug/dm",