diff options
author | 2017-11-28 08:33:37 -0500 | |
---|---|---|
committer | 2017-11-28 13:37:17 +0000 | |
commit | 082f00a60e3e9a5980eb1fb9612cf0284156ff84 (patch) | |
tree | dc2d3b6e998004b766b264998a6ed0acd1e2845d | |
parent | 7f1b4f8cc39cfe5717db2a4a16bfd9e23cd49c50 (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.py | 3 | ||||
-rw-r--r-- | infra/bots/recipes/test.expected/internal_bot_1.json | 75 | ||||
-rw-r--r-- | infra/bots/recipes/test.expected/internal_bot_2.json | 75 |
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", |