skia2/infra/bots/recipes
Kevin Lubick f1585aabeb Scale extra CPUs to powersave during nanobench.
This scaling logic correctly accounts for some devices
which have multiple CPUs.  Previously, we were scaling
the smaller of these CPUs, which likely had a negative
impact on nanobench, given nanobench was single threaded
and the CPUs weren't allowed to idle much (because we
set the CPU).

This CL sets those additional CPUs to powersave when we run
nanobench and then correctly scales down the beefier
CPU we want to run nanobench on.

For DM, we just run it in ondemand mode, which will
hopefully be "as fast as possible", but allow the CPU
governor to scale down if overheating becomes a problem.

Bug: skia:7378
notry=TRUE
Change-Id: I45ca5d9fb32182233d1b2d094842c879f2b84da4
Reviewed-on: https://skia-review.googlesource.com/83240
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-12-12 12:36:09 +00:00
..
bookmaker.expected Add new Bookmaker bot that runs nightly 2017-12-08 22:26:38 +00:00
bundle_recipes.expected Revert "[infra] Move commands from isolates to gen_tasks.go" 2017-12-07 14:54:11 +00:00
calmbench.expected Roll recipe dependencies (nontrivial). 2017-12-08 14:12:30 +00:00
check_generated_files.expected Roll recipe dependencies (nontrivial). 2017-12-08 14:12:30 +00:00
compile.expected Add new Bookmaker bot that runs nightly 2017-12-08 22:26:38 +00:00
ct_skps.expected Add new Bookmaker bot that runs nightly 2017-12-08 22:26:38 +00:00
housekeeper.expected Roll recipe dependencies (nontrivial). 2017-12-08 14:12:30 +00:00
infra.expected Roll recipe dependencies (nontrivial). 2017-12-08 14:12:30 +00:00
perf.expected Scale extra CPUs to powersave during nanobench. 2017-12-12 12:36:09 +00:00
recreate_skps.expected Roll recipe dependencies (nontrivial). 2017-12-08 14:12:30 +00:00
skpbench.expected Remove instanced rendering 2017-12-08 13:41:10 +00:00
test.expected Scale extra CPUs to powersave during nanobench. 2017-12-12 12:36:09 +00:00
update_meta_config.expected Roll recipe dependencies (nontrivial). 2017-12-08 14:12:30 +00:00
upload_calmbench_results.expected Roll recipe dependencies (nontrivial). 2017-12-08 14:12:30 +00:00
upload_coverage_results.expected Shard GCE Coverage bot to decrease latency 2017-10-17 21:10:17 +00:00
upload_dm_results.expected [recipes] Update example builder names. 2017-09-26 20:26:56 +00:00
upload_nano_results.expected Add in test_filter to build configuration 2017-10-16 11:09:49 +00:00
bookmaker.py [Bookmaker bot] Output fiddleout.json earlier and do not send to CQ for now 2017-12-11 22:17:29 +00:00
bundle_recipes.py Revert "[infra] Move commands from isolates to gen_tasks.go" 2017-12-07 14:54:11 +00:00
calmbench.py Add a GPU calmbench bot 2017-11-02 19:04:21 +00:00
check_generated_files.py Add a bot to verify that generated SKSL files have not been hand-edited 2017-07-28 12:20:47 +00:00
compile.py remove mips support and bots 2017-12-05 17:19:45 +00:00
ct_skps.py Switch CT_BENCH_10k_SKPs bot to use QuadroP400 2017-11-08 21:43:37 +00:00
housekeeper.py [skia] convert recipes and module to new context module 2017-05-15 13:46:22 +00:00
infra.py Fixes for internal repo infra tests 2017-06-15 13:10:59 +00:00
perf.py Scale extra CPUs to powersave during nanobench. 2017-12-12 12:36:09 +00:00
README.md Use new recipes.py test command 2017-04-18 13:57:56 +00:00
recreate_skps.py Add new Bookmaker bot that runs nightly 2017-12-08 22:26:38 +00:00
skpbench.py Remove instanced rendering 2017-12-08 13:41:10 +00:00
test.py Re-add '--gpuThreads 0' tests. 2017-12-11 19:50:58 +00:00
update_meta_config.py [recipes] Switch to file module from recipe_engine 2017-06-16 17:41:28 +00:00
upload_calmbench_results.py Add a GPU calmbench bot 2017-11-02 19:04:21 +00:00
upload_coverage_results.py Shard GCE Coverage bot to decrease latency 2017-10-17 21:10:17 +00:00
upload_dm_results.py Add Linux CPU Coverage Bot 2017-10-09 19:58:34 +00:00
upload_nano_results.py Add in test_filter to build configuration 2017-10-16 11:09:49 +00:00

Skia Recipes

These are the top-level scripts which run inside of Swarming tasks to perform all of Skia's automated testing.

To run a recipe locally:

$ python infra/bots/recipes.py run --workdir=/tmp/<workdir> <recipe name without .py> key1=value1 key2=value2 ...

Each recipe may have its own required properties which must be entered as key/value pairs in the command.

When you change a recipe, you generally need to re-train the simulation test:

$ python infra/bots/recipes.py test run --train

Or:

    $ cd infra/bots; make train

The test generates expectations files for the tests contained within each recipe which illustrate which steps would run, given a particular set of inputs. Pay attention to the diffs in these files when making changes to ensure that your change has the intended effect.