aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--infra/bots/jobs.json3
-rw-r--r--infra/bots/tasks.json627
-rw-r--r--tools/skpbench/_adb_path.py2
-rw-r--r--tools/skpbench/_hardware_android.py6
-rw-r--r--tools/skpbench/_hardware_pixel.py64
-rw-r--r--tools/skpbench/_hardware_pixel2.py119
-rwxr-xr-xtools/skpbench/skpbench.py3
7 files changed, 758 insertions, 66 deletions
diff --git a/infra/bots/jobs.json b/infra/bots/jobs.json
index 8304a3e6ef..429be21336 100644
--- a/infra/bots/jobs.json
+++ b/infra/bots/jobs.json
@@ -164,7 +164,10 @@
"Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Debug-All-Android",
"Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Debug-All-Android_Vulkan",
"Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android",
+ "Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android_CCPR_Skpbench",
+ "Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android_Skpbench",
"Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android_Vulkan",
+ "Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android_Vulkan_Skpbench",
"Perf-Android-Clang-PixelC-GPU-TegraX1-arm64-Release-All-Android_CCPR_Skpbench",
"Perf-Android-Clang-PixelC-GPU-TegraX1-arm64-Release-All-Android_Skpbench",
"Perf-Android-Clang-PixelC-GPU-TegraX1-arm64-Release-All-Android_Vulkan_Skpbench",
diff --git a/infra/bots/tasks.json b/infra/bots/tasks.json
index 1a27569cbd..61e73badb8 100644
--- a/infra/bots/tasks.json
+++ b/infra/bots/tasks.json
@@ -1000,12 +1000,30 @@
"Upload-Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android"
]
},
+ "Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android_CCPR_Skpbench": {
+ "priority": 0.8,
+ "tasks": [
+ "Upload-Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android_CCPR_Skpbench"
+ ]
+ },
+ "Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android_Skpbench": {
+ "priority": 0.8,
+ "tasks": [
+ "Upload-Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android_Skpbench"
+ ]
+ },
"Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android_Vulkan": {
"priority": 0.8,
"tasks": [
"Upload-Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android_Vulkan"
]
},
+ "Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android_Vulkan_Skpbench": {
+ "priority": 0.8,
+ "tasks": [
+ "Upload-Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android_Vulkan_Skpbench"
+ ]
+ },
"Perf-Android-Clang-PixelC-GPU-TegraX1-arm64-Release-All-Android_CCPR_Skpbench": {
"priority": 0.8,
"tasks": [
@@ -23174,6 +23192,208 @@
],
"priority": 0.8
},
+ "Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android_CCPR_Skpbench": {
+ "caches": [
+ {
+ "name": "vpython",
+ "path": "cache/vpython"
+ }
+ ],
+ "cipd_packages": [
+ {
+ "name": "infra/tools/luci/kitchen/${platform}",
+ "path": ".",
+ "version": "git_revision:206b4474cb712bdad8b7b3f213880cfbf03f120c"
+ },
+ {
+ "name": "infra/tools/authutil/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:9c63809842a277ce10a86afd51b61c639a665d11"
+ },
+ {
+ "name": "infra/tools/luci/vpython/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:d0130097bd6364a8d834cb9efd4554c1f6192c82"
+ }
+ ],
+ "command": [
+ "./kitchen${EXECUTABLE_SUFFIX}",
+ "cook",
+ "-checkout-dir",
+ "recipe_bundle",
+ "-mode",
+ "swarming",
+ "-luci-system-account",
+ "system",
+ "-cache-dir",
+ "cache",
+ "-temp-dir",
+ "tmp",
+ "-known-gerrit-host",
+ "android.googlesource.com",
+ "-known-gerrit-host",
+ "boringssl.googlesource.com",
+ "-known-gerrit-host",
+ "chromium.googlesource.com",
+ "-known-gerrit-host",
+ "dart.googlesource.com",
+ "-known-gerrit-host",
+ "fuchsia.googlesource.com",
+ "-known-gerrit-host",
+ "go.googlesource.com",
+ "-known-gerrit-host",
+ "llvm.googlesource.com",
+ "-known-gerrit-host",
+ "pdfium.googlesource.com",
+ "-known-gerrit-host",
+ "skia.googlesource.com",
+ "-known-gerrit-host",
+ "webrtc.googlesource.com",
+ "-output-result-json",
+ "${ISOLATED_OUTDIR}/build_result_filename",
+ "-workdir",
+ ".",
+ "-recipe",
+ "skpbench",
+ "-properties",
+ "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android_CCPR_Skpbench\",\"patch_issue\":\"<(ISSUE)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"perf\"}",
+ "-logdog-annotation-url",
+ "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
+ ],
+ "dependencies": [
+ "Housekeeper-PerCommit-BundleRecipes",
+ "Build-Debian9-Clang-arm64-Release-Android",
+ "Housekeeper-PerCommit-IsolateSKP"
+ ],
+ "dimensions": [
+ "device_os:OPM1.171019.021",
+ "device_type:taimen",
+ "os:Android",
+ "pool:Skia"
+ ],
+ "env_prefixes": {
+ "PATH": [
+ "cipd_bin_packages",
+ "cipd_bin_packages/bin"
+ ],
+ "VPYTHON_VIRTUALENV_ROOT": [
+ "${cache_dir}/vpython"
+ ]
+ },
+ "execution_timeout_ns": 14400000000000,
+ "expiration_ns": 72000000000000,
+ "extra_tags": {
+ "log_location": "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
+ },
+ "io_timeout_ns": 14400000000000,
+ "isolate": "skpbench_skia_bundled.isolate",
+ "max_attempts": 1,
+ "outputs": [
+ "perf"
+ ],
+ "priority": 0.8
+ },
+ "Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android_Skpbench": {
+ "caches": [
+ {
+ "name": "vpython",
+ "path": "cache/vpython"
+ }
+ ],
+ "cipd_packages": [
+ {
+ "name": "infra/tools/luci/kitchen/${platform}",
+ "path": ".",
+ "version": "git_revision:206b4474cb712bdad8b7b3f213880cfbf03f120c"
+ },
+ {
+ "name": "infra/tools/authutil/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:9c63809842a277ce10a86afd51b61c639a665d11"
+ },
+ {
+ "name": "infra/tools/luci/vpython/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:d0130097bd6364a8d834cb9efd4554c1f6192c82"
+ }
+ ],
+ "command": [
+ "./kitchen${EXECUTABLE_SUFFIX}",
+ "cook",
+ "-checkout-dir",
+ "recipe_bundle",
+ "-mode",
+ "swarming",
+ "-luci-system-account",
+ "system",
+ "-cache-dir",
+ "cache",
+ "-temp-dir",
+ "tmp",
+ "-known-gerrit-host",
+ "android.googlesource.com",
+ "-known-gerrit-host",
+ "boringssl.googlesource.com",
+ "-known-gerrit-host",
+ "chromium.googlesource.com",
+ "-known-gerrit-host",
+ "dart.googlesource.com",
+ "-known-gerrit-host",
+ "fuchsia.googlesource.com",
+ "-known-gerrit-host",
+ "go.googlesource.com",
+ "-known-gerrit-host",
+ "llvm.googlesource.com",
+ "-known-gerrit-host",
+ "pdfium.googlesource.com",
+ "-known-gerrit-host",
+ "skia.googlesource.com",
+ "-known-gerrit-host",
+ "webrtc.googlesource.com",
+ "-output-result-json",
+ "${ISOLATED_OUTDIR}/build_result_filename",
+ "-workdir",
+ ".",
+ "-recipe",
+ "skpbench",
+ "-properties",
+ "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android_Skpbench\",\"patch_issue\":\"<(ISSUE)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"perf\"}",
+ "-logdog-annotation-url",
+ "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
+ ],
+ "dependencies": [
+ "Housekeeper-PerCommit-BundleRecipes",
+ "Build-Debian9-Clang-arm64-Release-Android",
+ "Housekeeper-PerCommit-IsolateSKP"
+ ],
+ "dimensions": [
+ "device_os:OPM1.171019.021",
+ "device_type:taimen",
+ "os:Android",
+ "pool:Skia"
+ ],
+ "env_prefixes": {
+ "PATH": [
+ "cipd_bin_packages",
+ "cipd_bin_packages/bin"
+ ],
+ "VPYTHON_VIRTUALENV_ROOT": [
+ "${cache_dir}/vpython"
+ ]
+ },
+ "execution_timeout_ns": 14400000000000,
+ "expiration_ns": 72000000000000,
+ "extra_tags": {
+ "log_location": "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
+ },
+ "io_timeout_ns": 14400000000000,
+ "isolate": "skpbench_skia_bundled.isolate",
+ "max_attempts": 1,
+ "outputs": [
+ "perf"
+ ],
+ "priority": 0.8
+ },
"Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android_Vulkan": {
"caches": [
{
@@ -23277,6 +23497,107 @@
],
"priority": 0.8
},
+ "Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android_Vulkan_Skpbench": {
+ "caches": [
+ {
+ "name": "vpython",
+ "path": "cache/vpython"
+ }
+ ],
+ "cipd_packages": [
+ {
+ "name": "infra/tools/luci/kitchen/${platform}",
+ "path": ".",
+ "version": "git_revision:206b4474cb712bdad8b7b3f213880cfbf03f120c"
+ },
+ {
+ "name": "infra/tools/authutil/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:9c63809842a277ce10a86afd51b61c639a665d11"
+ },
+ {
+ "name": "infra/tools/luci/vpython/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:d0130097bd6364a8d834cb9efd4554c1f6192c82"
+ }
+ ],
+ "command": [
+ "./kitchen${EXECUTABLE_SUFFIX}",
+ "cook",
+ "-checkout-dir",
+ "recipe_bundle",
+ "-mode",
+ "swarming",
+ "-luci-system-account",
+ "system",
+ "-cache-dir",
+ "cache",
+ "-temp-dir",
+ "tmp",
+ "-known-gerrit-host",
+ "android.googlesource.com",
+ "-known-gerrit-host",
+ "boringssl.googlesource.com",
+ "-known-gerrit-host",
+ "chromium.googlesource.com",
+ "-known-gerrit-host",
+ "dart.googlesource.com",
+ "-known-gerrit-host",
+ "fuchsia.googlesource.com",
+ "-known-gerrit-host",
+ "go.googlesource.com",
+ "-known-gerrit-host",
+ "llvm.googlesource.com",
+ "-known-gerrit-host",
+ "pdfium.googlesource.com",
+ "-known-gerrit-host",
+ "skia.googlesource.com",
+ "-known-gerrit-host",
+ "webrtc.googlesource.com",
+ "-output-result-json",
+ "${ISOLATED_OUTDIR}/build_result_filename",
+ "-workdir",
+ ".",
+ "-recipe",
+ "skpbench",
+ "-properties",
+ "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android_Vulkan_Skpbench\",\"patch_issue\":\"<(ISSUE)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"perf\"}",
+ "-logdog-annotation-url",
+ "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
+ ],
+ "dependencies": [
+ "Housekeeper-PerCommit-BundleRecipes",
+ "Build-Debian9-Clang-arm64-Release-Android_Vulkan",
+ "Housekeeper-PerCommit-IsolateSKP"
+ ],
+ "dimensions": [
+ "device_os:OPM1.171019.021",
+ "device_type:taimen",
+ "os:Android",
+ "pool:Skia"
+ ],
+ "env_prefixes": {
+ "PATH": [
+ "cipd_bin_packages",
+ "cipd_bin_packages/bin"
+ ],
+ "VPYTHON_VIRTUALENV_ROOT": [
+ "${cache_dir}/vpython"
+ ]
+ },
+ "execution_timeout_ns": 14400000000000,
+ "expiration_ns": 72000000000000,
+ "extra_tags": {
+ "log_location": "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
+ },
+ "io_timeout_ns": 14400000000000,
+ "isolate": "skpbench_skia_bundled.isolate",
+ "max_attempts": 1,
+ "outputs": [
+ "perf"
+ ],
+ "priority": 0.8
+ },
"Perf-Android-Clang-PixelC-GPU-TegraX1-arm64-Release-All-Android_CCPR_Skpbench": {
"caches": [
{
@@ -72746,6 +73067,210 @@
"priority": 0.8,
"service_account": "skia-external-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
},
+ "Upload-Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android_CCPR_Skpbench": {
+ "caches": [
+ {
+ "name": "vpython",
+ "path": "cache/vpython"
+ }
+ ],
+ "cipd_packages": [
+ {
+ "name": "infra/tools/luci/kitchen/${platform}",
+ "path": ".",
+ "version": "git_revision:206b4474cb712bdad8b7b3f213880cfbf03f120c"
+ },
+ {
+ "name": "infra/tools/authutil/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:9c63809842a277ce10a86afd51b61c639a665d11"
+ },
+ {
+ "name": "infra/tools/luci/vpython/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:d0130097bd6364a8d834cb9efd4554c1f6192c82"
+ },
+ {
+ "name": "infra/gsutil",
+ "path": "cipd_bin_packages",
+ "version": "version:4.28"
+ }
+ ],
+ "command": [
+ "./kitchen${EXECUTABLE_SUFFIX}",
+ "cook",
+ "-checkout-dir",
+ "recipe_bundle",
+ "-mode",
+ "swarming",
+ "-luci-system-account",
+ "system",
+ "-cache-dir",
+ "cache",
+ "-temp-dir",
+ "tmp",
+ "-known-gerrit-host",
+ "android.googlesource.com",
+ "-known-gerrit-host",
+ "boringssl.googlesource.com",
+ "-known-gerrit-host",
+ "chromium.googlesource.com",
+ "-known-gerrit-host",
+ "dart.googlesource.com",
+ "-known-gerrit-host",
+ "fuchsia.googlesource.com",
+ "-known-gerrit-host",
+ "go.googlesource.com",
+ "-known-gerrit-host",
+ "llvm.googlesource.com",
+ "-known-gerrit-host",
+ "pdfium.googlesource.com",
+ "-known-gerrit-host",
+ "skia.googlesource.com",
+ "-known-gerrit-host",
+ "webrtc.googlesource.com",
+ "-output-result-json",
+ "${ISOLATED_OUTDIR}/build_result_filename",
+ "-workdir",
+ ".",
+ "-recipe",
+ "upload_nano_results",
+ "-properties",
+ "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android_CCPR_Skpbench\",\"gs_bucket\":\"skia-perf\",\"patch_issue\":\"<(ISSUE)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"output_ignored\"}",
+ "-logdog-annotation-url",
+ "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
+ ],
+ "dependencies": [
+ "Housekeeper-PerCommit-BundleRecipes",
+ "Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android_CCPR_Skpbench"
+ ],
+ "dimensions": [
+ "cpu:x86-64-Haswell_GCE",
+ "gpu:none",
+ "machine_type:n1-standard-16",
+ "os:Debian-9.4",
+ "pool:Skia"
+ ],
+ "env_prefixes": {
+ "PATH": [
+ "cipd_bin_packages",
+ "cipd_bin_packages/bin"
+ ],
+ "VPYTHON_VIRTUALENV_ROOT": [
+ "${cache_dir}/vpython"
+ ]
+ },
+ "execution_timeout_ns": 3600000000000,
+ "extra_tags": {
+ "log_location": "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
+ },
+ "io_timeout_ns": 3600000000000,
+ "isolate": "swarm_recipe.isolate",
+ "priority": 0.8,
+ "service_account": "skia-external-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
+ },
+ "Upload-Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android_Skpbench": {
+ "caches": [
+ {
+ "name": "vpython",
+ "path": "cache/vpython"
+ }
+ ],
+ "cipd_packages": [
+ {
+ "name": "infra/tools/luci/kitchen/${platform}",
+ "path": ".",
+ "version": "git_revision:206b4474cb712bdad8b7b3f213880cfbf03f120c"
+ },
+ {
+ "name": "infra/tools/authutil/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:9c63809842a277ce10a86afd51b61c639a665d11"
+ },
+ {
+ "name": "infra/tools/luci/vpython/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:d0130097bd6364a8d834cb9efd4554c1f6192c82"
+ },
+ {
+ "name": "infra/gsutil",
+ "path": "cipd_bin_packages",
+ "version": "version:4.28"
+ }
+ ],
+ "command": [
+ "./kitchen${EXECUTABLE_SUFFIX}",
+ "cook",
+ "-checkout-dir",
+ "recipe_bundle",
+ "-mode",
+ "swarming",
+ "-luci-system-account",
+ "system",
+ "-cache-dir",
+ "cache",
+ "-temp-dir",
+ "tmp",
+ "-known-gerrit-host",
+ "android.googlesource.com",
+ "-known-gerrit-host",
+ "boringssl.googlesource.com",
+ "-known-gerrit-host",
+ "chromium.googlesource.com",
+ "-known-gerrit-host",
+ "dart.googlesource.com",
+ "-known-gerrit-host",
+ "fuchsia.googlesource.com",
+ "-known-gerrit-host",
+ "go.googlesource.com",
+ "-known-gerrit-host",
+ "llvm.googlesource.com",
+ "-known-gerrit-host",
+ "pdfium.googlesource.com",
+ "-known-gerrit-host",
+ "skia.googlesource.com",
+ "-known-gerrit-host",
+ "webrtc.googlesource.com",
+ "-output-result-json",
+ "${ISOLATED_OUTDIR}/build_result_filename",
+ "-workdir",
+ ".",
+ "-recipe",
+ "upload_nano_results",
+ "-properties",
+ "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android_Skpbench\",\"gs_bucket\":\"skia-perf\",\"patch_issue\":\"<(ISSUE)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"output_ignored\"}",
+ "-logdog-annotation-url",
+ "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
+ ],
+ "dependencies": [
+ "Housekeeper-PerCommit-BundleRecipes",
+ "Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android_Skpbench"
+ ],
+ "dimensions": [
+ "cpu:x86-64-Haswell_GCE",
+ "gpu:none",
+ "machine_type:n1-standard-16",
+ "os:Debian-9.4",
+ "pool:Skia"
+ ],
+ "env_prefixes": {
+ "PATH": [
+ "cipd_bin_packages",
+ "cipd_bin_packages/bin"
+ ],
+ "VPYTHON_VIRTUALENV_ROOT": [
+ "${cache_dir}/vpython"
+ ]
+ },
+ "execution_timeout_ns": 3600000000000,
+ "extra_tags": {
+ "log_location": "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
+ },
+ "io_timeout_ns": 3600000000000,
+ "isolate": "swarm_recipe.isolate",
+ "priority": 0.8,
+ "service_account": "skia-external-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
+ },
"Upload-Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android_Vulkan": {
"caches": [
{
@@ -72848,6 +73373,108 @@
"priority": 0.8,
"service_account": "skia-external-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
},
+ "Upload-Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android_Vulkan_Skpbench": {
+ "caches": [
+ {
+ "name": "vpython",
+ "path": "cache/vpython"
+ }
+ ],
+ "cipd_packages": [
+ {
+ "name": "infra/tools/luci/kitchen/${platform}",
+ "path": ".",
+ "version": "git_revision:206b4474cb712bdad8b7b3f213880cfbf03f120c"
+ },
+ {
+ "name": "infra/tools/authutil/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:9c63809842a277ce10a86afd51b61c639a665d11"
+ },
+ {
+ "name": "infra/tools/luci/vpython/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:d0130097bd6364a8d834cb9efd4554c1f6192c82"
+ },
+ {
+ "name": "infra/gsutil",
+ "path": "cipd_bin_packages",
+ "version": "version:4.28"
+ }
+ ],
+ "command": [
+ "./kitchen${EXECUTABLE_SUFFIX}",
+ "cook",
+ "-checkout-dir",
+ "recipe_bundle",
+ "-mode",
+ "swarming",
+ "-luci-system-account",
+ "system",
+ "-cache-dir",
+ "cache",
+ "-temp-dir",
+ "tmp",
+ "-known-gerrit-host",
+ "android.googlesource.com",
+ "-known-gerrit-host",
+ "boringssl.googlesource.com",
+ "-known-gerrit-host",
+ "chromium.googlesource.com",
+ "-known-gerrit-host",
+ "dart.googlesource.com",
+ "-known-gerrit-host",
+ "fuchsia.googlesource.com",
+ "-known-gerrit-host",
+ "go.googlesource.com",
+ "-known-gerrit-host",
+ "llvm.googlesource.com",
+ "-known-gerrit-host",
+ "pdfium.googlesource.com",
+ "-known-gerrit-host",
+ "skia.googlesource.com",
+ "-known-gerrit-host",
+ "webrtc.googlesource.com",
+ "-output-result-json",
+ "${ISOLATED_OUTDIR}/build_result_filename",
+ "-workdir",
+ ".",
+ "-recipe",
+ "upload_nano_results",
+ "-properties",
+ "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android_Vulkan_Skpbench\",\"gs_bucket\":\"skia-perf\",\"patch_issue\":\"<(ISSUE)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"output_ignored\"}",
+ "-logdog-annotation-url",
+ "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
+ ],
+ "dependencies": [
+ "Housekeeper-PerCommit-BundleRecipes",
+ "Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android_Vulkan_Skpbench"
+ ],
+ "dimensions": [
+ "cpu:x86-64-Haswell_GCE",
+ "gpu:none",
+ "machine_type:n1-standard-16",
+ "os:Debian-9.4",
+ "pool:Skia"
+ ],
+ "env_prefixes": {
+ "PATH": [
+ "cipd_bin_packages",
+ "cipd_bin_packages/bin"
+ ],
+ "VPYTHON_VIRTUALENV_ROOT": [
+ "${cache_dir}/vpython"
+ ]
+ },
+ "execution_timeout_ns": 3600000000000,
+ "extra_tags": {
+ "log_location": "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
+ },
+ "io_timeout_ns": 3600000000000,
+ "isolate": "swarm_recipe.isolate",
+ "priority": 0.8,
+ "service_account": "skia-external-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
+ },
"Upload-Perf-Android-Clang-PixelC-GPU-TegraX1-arm64-Release-All-Android_CCPR_Skpbench": {
"caches": [
{
diff --git a/tools/skpbench/_adb_path.py b/tools/skpbench/_adb_path.py
index dc23fc5895..407f4039e3 100644
--- a/tools/skpbench/_adb_path.py
+++ b/tools/skpbench/_adb_path.py
@@ -20,6 +20,8 @@ def basename(pathname):
return pathname.rsplit('/', maxsplit=1)[-1]
def find_skps(skps):
+ # root first, in case skps reside in a protected directory
+ __ADB.root()
escapedskps = [re.sub(r'([^a-zA-Z0-9_/\.\*\?\[\!\]])', r'\\\1', x)
for x in skps]
return __ADB.check('''\
diff --git a/tools/skpbench/_hardware_android.py b/tools/skpbench/_hardware_android.py
index 62e3ddd420..499247b03b 100644
--- a/tools/skpbench/_hardware_android.py
+++ b/tools/skpbench/_hardware_android.py
@@ -29,9 +29,9 @@ class HardwareAndroid(Hardware):
# disable GPS.
'''
- for MODE in gps wifi network; do
- settings put secure location_providers_allowed -$MODE
- done''']))
+ settings put secure location_providers_allowed -gps
+ settings put secure location_providers_allowed -wifi
+ settings put secure location_providers_allowed -network''']))
if self._adb.is_root():
self._adb.shell('\n'.join([
diff --git a/tools/skpbench/_hardware_pixel.py b/tools/skpbench/_hardware_pixel.py
index 02465b0186..7c254acf03 100644
--- a/tools/skpbench/_hardware_pixel.py
+++ b/tools/skpbench/_hardware_pixel.py
@@ -3,26 +3,15 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-from _hardware import HardwareException, Expectation
+from _hardware import Expectation
from _hardware_android import HardwareAndroid
-from collections import namedtuple
-import itertools
CPU_CLOCK_RATE = 1670400
GPU_CLOCK_RATE = 315000000
-DEVFREQ_DIRNAME = '/sys/class/devfreq'
-DEVFREQ_THROTTLE = 0.74
-DEVFREQ_BLACKLIST = ('b00000.qcom,kgsl-3d0', 'soc:qcom,kgsl-busmon',
- 'soc:qcom,m4m')
-DevfreqKnobs = namedtuple('knobs',
- ('available_governors', 'available_frequencies',
- 'governor', 'min_freq', 'max_freq', 'cur_freq'))
-
class HardwarePixel(HardwareAndroid):
def __init__(self, adb):
HardwareAndroid.__init__(self, adb)
- self._discover_devfreqs()
def __enter__(self):
HardwareAndroid.__enter__(self)
@@ -99,54 +88,3 @@ class HardwarePixel(HardwareAndroid):
Expectation(int, max_value=40, name='msm_therm temperature')]
Expectation.check_all(expectations, result.splitlines())
-
- def _discover_devfreqs(self):
- self._devfreq_lock_cmds = list()
- self._devfreq_sanity_knobs = list()
- self._devfreq_sanity_expectations = list()
-
- results = iter(self._adb.check('''\
- KNOBS='%s'
- for DEVICE in %s/*; do
- if cd $DEVICE && ls $KNOBS >/dev/null; then
- basename $DEVICE
- cat $KNOBS
- fi
- done 2>/dev/null''' %
- (' '.join(DevfreqKnobs._fields), DEVFREQ_DIRNAME)).splitlines())
-
- while True:
- batch = tuple(itertools.islice(results, 1 + len(DevfreqKnobs._fields)))
- if not batch:
- break
-
- devfreq = batch[0]
- if devfreq in DEVFREQ_BLACKLIST:
- continue
-
- path = '%s/%s' % (DEVFREQ_DIRNAME, devfreq)
-
- knobs = DevfreqKnobs(*batch[1:])
- if not 'performance' in knobs.available_governors.split():
- print('WARNING: devfreq %s does not have performance governor' % path)
- continue
-
- self._devfreq_lock_cmds.append('echo performance > %s/governor' % path)
-
- frequencies = map(int, knobs.available_frequencies.split())
- if frequencies:
- # choose the lowest frequency that is >= DEVFREQ_THROTTLE * max.
- frequencies.sort()
- target = DEVFREQ_THROTTLE * frequencies[-1]
- idx = len(frequencies) - 1
- while idx > 0 and frequencies[idx - 1] >= target:
- idx -= 1
- bench_frequency = frequencies[idx]
- self._devfreq_lock_cmds.append('echo %i > %s/min_freq' %
- (bench_frequency, path))
- self._devfreq_lock_cmds.append('echo %i > %s/max_freq' %
- (bench_frequency, path))
- self._devfreq_sanity_knobs.append('%s/cur_freq' % path)
- self._devfreq_sanity_expectations.append(
- Expectation(int, exact_value=bench_frequency,
- name='%s/cur_freq' % path))
diff --git a/tools/skpbench/_hardware_pixel2.py b/tools/skpbench/_hardware_pixel2.py
new file mode 100644
index 0000000000..a42cafa516
--- /dev/null
+++ b/tools/skpbench/_hardware_pixel2.py
@@ -0,0 +1,119 @@
+# Copyright 2018 Google Inc.
+#
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+from _hardware import Expectation
+from _hardware_android import HardwareAndroid
+
+CPU_CLOCK_RATE = 2035200
+MEM_CLOCK_RATE = 13763
+GPU_CLOCK_RATE = 670000000
+GPU_POWER_LEVEL = 1 # lower is faster, minimum is 0
+
+class HardwarePixel2(HardwareAndroid):
+ def __init__(self, adb):
+ HardwareAndroid.__init__(self, adb)
+
+ def __enter__(self):
+ HardwareAndroid.__enter__(self)
+ if not self._adb.is_root():
+ return self
+
+ self._adb.shell('\n'.join([
+ '''
+ stop thermal-engine
+ stop perfd''',
+
+ # turn off the slow cores and one fast core
+ '''
+ for N in 0 1 2 3 7; do
+ echo 0 > /sys/devices/system/cpu/cpu$N/online
+ done''',
+
+ # lock 3 fast cores: two for Skia and one for the OS
+ '''
+ for N in 4 5 6; do
+ echo 1 > /sys/devices/system/cpu/cpu$N/online
+ echo userspace > /sys/devices/system/cpu/cpu$N/cpufreq/scaling_governor
+ echo %i > /sys/devices/system/cpu/cpu$N/cpufreq/scaling_max_freq
+ echo %i > /sys/devices/system/cpu/cpu$N/cpufreq/scaling_min_freq
+ echo %i > /sys/devices/system/cpu/cpu$N/cpufreq/scaling_setspeed
+ done''' % tuple(CPU_CLOCK_RATE for _ in range(3)),
+
+ # Set GPU bus and idle timer
+ '''
+ echo 0 > /sys/class/kgsl/kgsl-3d0/bus_split''',
+ # csmartdalton, 4-26-2018: this line hangs my device
+ # echo 1 > /sys/class/kgsl/kgsl-3d0/force_clk_on
+ '''
+ echo 10000 > /sys/class/kgsl/kgsl-3d0/idle_timer''',
+
+ # Set mem frequency to max
+ '''
+ echo %i > /sys/class/devfreq/soc\:qcom,gpubw/min_freq
+ echo %i > /sys/class/devfreq/soc\:qcom,gpubw/max_freq
+ echo %i > /sys/class/devfreq/soc\:qcom,cpubw/min_freq
+ echo %i > /sys/class/devfreq/soc\:qcom,cpubw/max_freq
+ echo %i > /sys/class/devfreq/soc\:qcom,mincpubw/min_freq
+ echo %i > /sys/class/devfreq/soc\:qcom,mincpubw/max_freq
+ echo %i > /sys/class/devfreq/soc\:qcom,memlat-cpu0/min_freq
+ echo %i > /sys/class/devfreq/soc\:qcom,memlat-cpu0/max_freq''' %
+ tuple(MEM_CLOCK_RATE for _ in range(8)),
+
+ # Set GPU to performance mode
+ '''
+ echo performance > /sys/class/kgsl/kgsl-3d0/devfreq/governor
+ echo %i > /sys/class/kgsl/kgsl-3d0/devfreq/max_freq
+ echo %i > /sys/class/kgsl/kgsl-3d0/devfreq/min_freq''' %
+ tuple(GPU_CLOCK_RATE for _ in range(2)),
+
+ # Set GPU power level
+ '''
+ echo %i > /sys/class/kgsl/kgsl-3d0/max_pwrlevel
+ echo %i > /sys/class/kgsl/kgsl-3d0/min_pwrlevel''' %
+ tuple(GPU_POWER_LEVEL for _ in range(2))]))
+
+ assert('msm_therm' == self._adb.check(\
+ 'cat /sys/class/thermal/thermal_zone10/type').strip())
+ assert('pm8998_tz' == self._adb.check(\
+ 'cat /sys/class/thermal/thermal_zone7/type').strip())
+
+ return self
+
+ def sanity_check(self):
+ HardwareAndroid.sanity_check(self)
+
+ if not self._adb.is_root():
+ return
+
+ result = self._adb.check(' '.join(
+ ['cat',
+ '/sys/class/power_supply/battery/capacity',
+ '/sys/devices/system/cpu/online'] + \
+ ['/sys/devices/system/cpu/cpu%i/cpufreq/scaling_cur_freq' % i
+ for i in range(4, 7)] + \
+ # Unfortunately we can't monitor the gpu clock:
+ #
+ # /sys/class/kgsl/kgsl-3d0/devfreq/cur_freq
+ #
+ # It doesn't respect the min_freq/max_freq values when not under load.
+ ['/sys/kernel/debug/clk/bimc_clk/measure',
+ '/sys/class/kgsl/kgsl-3d0/temp',
+ '/sys/class/kgsl/kgsl-3d0/throttling',
+ '/sys/class/thermal/thermal_zone10/temp',
+ '/sys/class/thermal/thermal_zone7/temp']))
+
+ expectations = \
+ [Expectation(int, min_value=30, name='battery', sleeptime=30*60),
+ Expectation(str, exact_value='4-6', name='online cpus')] + \
+ [Expectation(int, exact_value=CPU_CLOCK_RATE, name='cpu_%i clock rate' %i)
+ for i in range(4, 7)] + \
+ [Expectation(long, min_value=902390000, max_value=902409999,
+ name='measured ddr clock', sleeptime=10),
+ Expectation(int, max_value=750, name='gpu temperature'),
+ Expectation(int, exact_value=1, name='gpu throttling'),
+ Expectation(int, max_value=75, name='msm_therm temperature'),
+ Expectation(int, max_value=75000, name='pm8998_tz temperature')]
+
+ Expectation.check_all(expectations, result.splitlines())
diff --git a/tools/skpbench/skpbench.py b/tools/skpbench/skpbench.py
index f2df9b679d..243beaf795 100755
--- a/tools/skpbench/skpbench.py
+++ b/tools/skpbench/skpbench.py
@@ -307,6 +307,9 @@ def main():
elif model == 'Pixel':
from _hardware_pixel import HardwarePixel
hardware = HardwarePixel(adb)
+ elif model == 'Pixel 2':
+ from _hardware_pixel2 import HardwarePixel2
+ hardware = HardwarePixel2(adb)
elif model == 'Nexus 6P':
from _hardware_nexus_6p import HardwareNexus6P
hardware = HardwareNexus6P(adb)