aboutsummaryrefslogtreecommitdiffhomepage
path: root/infra/bots/gen_tasks.go
diff options
context:
space:
mode:
authorGravatar Ben Wagner <benjaminwagner@google.com>2018-05-09 15:37:34 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-05-10 15:45:45 +0000
commit27d5a3661ba76852c0c8b7935f47e88d7edd1cda (patch)
tree350de4b62186ed8de9dd8f9269486dedc33911de /infra/bots/gen_tasks.go
parentcab25492864fe1e581e442d784f18aa72a13e6f5 (diff)
Switch machine-type for Coverage tasks.
Coverage doesn't seem to deal well with multiple threads. Using 2-core VMs is faster than using 64-core VMs. On the other hand, the Coverage Upload task performs much better on a 64-core VM. Bug: skia:7415 No-Try: true Change-Id: Ieb58fc47970dd66fa64cf6a8c9de1f9236e2f3a0 Reviewed-on: https://skia-review.googlesource.com/127053 Commit-Queue: Ben Wagner <benjaminwagner@google.com> Auto-Submit: Ben Wagner <benjaminwagner@google.com> Reviewed-by: Ravi Mistry <rmistry@google.com>
Diffstat (limited to 'infra/bots/gen_tasks.go')
-rw-r--r--infra/bots/gen_tasks.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/infra/bots/gen_tasks.go b/infra/bots/gen_tasks.go
index a937323681..64c7209894 100644
--- a/infra/bots/gen_tasks.go
+++ b/infra/bots/gen_tasks.go
@@ -489,6 +489,10 @@ func defaultSwarmDimensions(parts map[string]string) []string {
if !ok {
glog.Fatalf("Entry %q not found in GCE machine type mapping.", parts["role"])
}
+ // Coverage gets slower with more cores.
+ if strings.Contains(parts["extra_config"], "Coverage") {
+ machineType = MACHINE_TYPE_SMALL
+ }
d["machine_type"] = machineType
}
} else {
@@ -1035,7 +1039,8 @@ func coverage(b *specs.TasksCfgBuilder, name string, parts map[string]string, co
extraProps := map[string]string{
"gs_bucket": CONFIG.GsBucketCoverage,
}
- uploadTask := kitchenTask(uploadName, "upload_coverage_results", "swarm_recipe.isolate", SERVICE_ACCOUNT_UPLOAD_COVERAGE, linuxGceDimensions(MACHINE_TYPE_SMALL), extraProps, OUTPUT_NONE)
+ // Use MACHINE_TYPE_LARGE because this does a bunch of computation before upload.
+ uploadTask := kitchenTask(uploadName, "upload_coverage_results", "swarm_recipe.isolate", SERVICE_ACCOUNT_UPLOAD_COVERAGE, linuxGceDimensions(MACHINE_TYPE_LARGE), extraProps, OUTPUT_NONE)
usesGit(uploadTask, uploadName)
uploadTask.CipdPackages = append(uploadTask.CipdPackages, CIPD_PKGS_GSUTIL...)
// We need clang_linux to get access to the llvm-profdata and llvm-cov binaries