Change-Id: I26e75cf6cd865ec6c47b7766679177bfd30387da
Reviewed-on: https://skia-review.googlesource.com/82921
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Change-Id: I7baae5f90b2e510b66443cda449071c7c6ec9ec7
Reviewed-on: https://skia-review.googlesource.com/83520
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Perf was nice and flat after https://skia-review.googlesource.com/c/skia/+/83240
but there was a 4-5x slowdown on the benchmarks themselves,
indicating that perhaps we were running nanobench on the
LITTLE cores (now on powersave) instead of the big cores we
thought (which were recently scaled down).
This experiment will show us FOR CERTAIN that we are
running on core 0 or 1 which is at .6 max frequency.
We expect to see a speedup from the previous results.
This is leading to turning of CPUs we don't need
to make sure nanobench is running on the ones we expect.
Bug: skia:
NOTRY=true
Change-Id: Ida65181e4d90e778e65e3f22d761288b9ade64f6
Reviewed-on: https://skia-review.googlesource.com/84201
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Bug: skia:7399
Change-Id: Id60773f77694b06a938f9a126f30ca56e4965d30
Reviewed-on: https://skia-review.googlesource.com/83981
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
They seem to be their own special cases for what
governors they support.
Bug: skia:
NOTRY=true
Change-Id: I7bb220e1d3ba6851c17c7e6ef327aab24ffdba42
Reviewed-on: https://skia-review.googlesource.com/83900
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
If the stacktrace wasn't in the last 200 lines, we couldn't
find and symbolize it.
https://chromium-swarm.appspot.com/task?id=3a5e86a9d0e04e10&refresh=10
We increase the window to 500 lines to account for large memory maps.
Bug: skia:7397
NOTRY=true
Change-Id: Ic8583e383663a9beb62a32e90a5bd5d73d7446a7
Reviewed-on: https://skia-review.googlesource.com/83540
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
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>
To enable, set skia_embed_resources=true in args.gn.
Also add *-EmbededResouces bots.
Change-Id: Ia69b26e926a3ad4676a4fa021894432ea2104538
Reviewed-on: https://skia-review.googlesource.com/82626
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
The new bot:
1) Extracts all fiddles out of markdown files.
2) Forces fiddle.skia.org to compile all those fiddles and get output in JSON.
3) Scans the output and reports any compiletime/runtime errors.
4) Updates markdown in site/user/api/ using the new hashes (if any) from fiddle.skia.org.
To ensure the bot does not check in unexpected changes:
* upload_md.py makes sure that all modified files are under site/user/api/. It errors out if this is not the case.
* CLs with docs only changes normally have 'NoTry: true' added to their descriptions. This is not done for the new bot because we want to run it through trybots to make sure nothing unexpected snuck in.
* rmistry@ and caryclark@ are automatically CC'ed on all uploaded changes. I plan to watch the bot closely for at least a couple of weeks.
Bug: skia:7310
Change-Id: I759fc8bae1e32a6f175e3b1a895947d14ca5fe3a
Reviewed-on: https://skia-review.googlesource.com/79941
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Using full paths in skia.h causes "file not found" with Goma. All other
Builds seem fine without the path, so I changed find_headers.py to use
the basename.
Change-Id: Ib520e91a92ebffe36a736eb53f643d359f5bb2ce
Reviewed-on: https://skia-review.googlesource.com/79360
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).
Please review the expectation changes, and LGTM+CQ.
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
https://crrev.com/bb85b3636b13b7a3514a198b30c583439c009970 bot_update source manifest: fix test_api.py to match the actual output (hinoka@google.com)
R=kjlubick@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: If6efa9cbe00163301023a847c06f10e37067f4c0
Reviewed-on: https://skia-review.googlesource.com/82540
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
'windk' is no longer a thing. There are two separate variables to point
at your compiler (win_vc), and SDK (win_sdk).
'msvc' is no longer a thing, either. By default, we look for 2017 and
then 2015 (in the default locations). If neither is located, use an
assert to let users know they should set win_vc. Then, detect if win_vc
points at a 2017 or 2015 installation, and configure it automatically.
Because the toolchain is now 2017, update the GN files to handle building
x86 in that configuration. In fact, we only support x86 builds (with 2017
or 2015) using the toolchain assets. Keep a 2015 toolchain around as a
new asset, so we can add bot coverage.
Docs-Preview: https://skia.org/?cl=81841
Bug: skia:
Change-Id: I8c68a6f949e54c0e798a219450bbb9406f8dc6ac
Reviewed-on: https://skia-review.googlesource.com/81841
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
Add logic to run on Nexus 5xs in Golo.
Bug:788839
Change-Id: I12290d11a0b1b0f012ada216da3e5b2599979c5e
Reviewed-on: https://skia-review.googlesource.com/81861
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Bug: skia:7381
Change-Id: I2dd5443c81cd895eb1d68b0cd90221a7e2e07d46
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/80843
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
This is a reland of 6da1d32c16
Original change's description:
> Always use the Win 10 SDK, and optionally detect/use the latest version
>
> For bot toolchain builds, we were already using the Win 10 SDK. Local
> 2015 builds were using a strange hybrid of Win 10 and Win 8 SDKs. Now
> we always use the Win 10 SDK exclusively.
>
> This adds two new GN arguments: win_sdk, which points at the top level
> Windows 10 SDK directory, and win_sdk_version, which can be used to
> pin to a specific version. (Otherwise we use a script to detect the
> most recent version).
>
> Bug: skia:
> Change-Id: I5aabb5eb9e7f483e3676b67b50356ddd0421cf7d
> Reviewed-on: https://skia-review.googlesource.com/81304
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Brian Osman <brianosman@google.com>
Bug: skia:
Change-Id: Ide0d6bd3413c4fe7a8bada7d3d32bdba9709d11b
Reviewed-on: https://skia-review.googlesource.com/81501
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This reverts commit 6da1d32c16.
Reason for revert:
Caused Build-Win-Clang-arm64-Release-Android to fail.
Eg: https://chromium-swarm.appspot.com/task?id=3a467f1ddd15fb10&refresh=10
Original change's description:
> Always use the Win 10 SDK, and optionally detect/use the latest version
>
> For bot toolchain builds, we were already using the Win 10 SDK. Local
> 2015 builds were using a strange hybrid of Win 10 and Win 8 SDKs. Now
> we always use the Win 10 SDK exclusively.
>
> This adds two new GN arguments: win_sdk, which points at the top level
> Windows 10 SDK directory, and win_sdk_version, which can be used to
> pin to a specific version. (Otherwise we use a script to detect the
> most recent version).
>
> Bug: skia:
> Change-Id: I5aabb5eb9e7f483e3676b67b50356ddd0421cf7d
> Reviewed-on: https://skia-review.googlesource.com/81304
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Brian Osman <brianosman@google.com>
TBR=mtklein@chromium.org,borenet@google.com,bungeman@google.com,brianosman@google.com
Change-Id: Id044114fc685d570741e3f5ed003c4be2ffa84a3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/81500
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
For bot toolchain builds, we were already using the Win 10 SDK. Local
2015 builds were using a strange hybrid of Win 10 and Win 8 SDKs. Now
we always use the Win 10 SDK exclusively.
This adds two new GN arguments: win_sdk, which points at the top level
Windows 10 SDK directory, and win_sdk_version, which can be used to
pin to a specific version. (Otherwise we use a script to detect the
most recent version).
Bug: skia:
Change-Id: I5aabb5eb9e7f483e3676b67b50356ddd0421cf7d
Reviewed-on: https://skia-review.googlesource.com/81304
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
The new check was a different config while we fixed the errors. Most
errors are now fixed, and merging these will help with running both on
the CQ.
No-Try: true
Change-Id: I5804ecea84a8dbbaacf6a4ea96e2af9505641d49
Reviewed-on: https://skia-review.googlesource.com/79323
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
The previous list was created from scaling_min_freq and scaling_max_freq
instead of cpuinfo_min_freq and cpuinfo_max_freq which are the actual mins
and maxes, not the current (transient) settings of the governor.
Before:
Test-Release: 61 minutes
Perf-Debug: 41 minutes
After:
Test-Release: 32 minutes
Perf-Debug: 16 minutes
NOTRY=true
Bug: skia:
Change-Id: I9b431e92d2abcecb4fe643389daddc912a1399e1
Reviewed-on: https://skia-review.googlesource.com/78141
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Some bots, especially the Nexus 7s, seemed to occasionally
fail when setting the CPU frequency. I was unable to
repro this behavior, so this is a shotgun approach.
We add a 5 second delay between setting and checking,
checking frequency using scaling_cur_freq instead of
scaling_setspeed, set the min_freq as well as max_freq,
and retry up to 3 times if setting cpu frequency fails.
NOTRY=true
Bug: skia:
Change-Id: Id4d85d8d509c9dba8e3a0e06b5992f5adadf36d2
Reviewed-on: https://skia-review.googlesource.com/78140
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
This has the side effect of using the bots in the new GCE project as
well.
Bug: skia:7278
Change-Id: Ie14c93d6e3d12ccbfb679089bc50bca482fbf605
Reviewed-on: https://skia-review.googlesource.com/76261
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
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>
Bug: skia:
Change-Id: I36cb94877d513fc81c211b0e58b5c4be0451ac91
Reviewed-on: https://skia-review.googlesource.com/74601
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Bug: skia:
Change-Id: I391cbc6cb2bf2ae88af0612964f4265788c8e771
Reviewed-on: https://skia-review.googlesource.com/74600
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Bug: skia:
NOTRY=true
Change-Id: I1a1755dd03f2e6ebd8d9b2c9235cca8eb34f04ad
Reviewed-on: https://skia-review.googlesource.com/75280
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
This also makes *sure* the CPU frequency we set the
device to actually "takes". Along the way, I learned
if scaling_max_freq is < the frequency we set, the
scaling_max_freq will be used instead, which was
happening to the PixelCs and AndroidOnes.
As a result, this may make those two Test- configs faster.
Bug: skia:
Change-Id: I10c98d37e296a19e1cf67bfe7269bb59cdd912d5
Reviewed-on: https://skia-review.googlesource.com/74360
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Bug: skia:
Change-Id: I994f67c3043306d7fa612feb03f8fbe8d7bf4c91
Reviewed-on: https://skia-review.googlesource.com/73760
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
- Replace build-time GDI support in all of Skia
with run-time GDI support only in DM.
- Make the GDI bots NativeFont bots paralelling
the other NativeFonts bots.
Change-Id: I424b20f6983d8a8ba8574650efefea2b8776bbe2
Reviewed-on: https://skia-review.googlesource.com/70721
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
This makes failing builds print all failures, not just the first.
Successful builds, the usual case, are unaffected.
Change-Id: I8dde21e913f6715e7760b298a87f51d1b40a8789
Reviewed-on: https://skia-review.googlesource.com/67803
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Bug: skia:
Change-Id: I354c295ce04f5e478e88f724e0b17ce90496a4cc
Reviewed-on: https://skia-review.googlesource.com/65341
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Bug: skia:
NOTRY=true
Change-Id: I500eae85ec334dc7121266ebd2f41dc526ec4695
Reviewed-on: https://skia-review.googlesource.com/66880
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Adding -O1 and reducing the shards to cut down on overhead
in post-production. This seems to save us a few minutes
(e.g. ~26 -> ~23 minutes).
The optimized code has about 600 fewer reachable lines of code
(according to the Coverage measurement), which is acceptable
given our tests run on -O1 or better.
Experiments (in this review) show that O3 is faster than O1,
but not significantly enough where we want to deviate from
our normal Debug bots:
Control: 73 minutes
-O1: 59 minutes
-O2: 60 minutes
-O3: 50 minutes
Bug: skia:
NOTRY=true
Change-Id: I33344c1cd2408373004d010e36ce27d6aa03deb2
Reviewed-on: https://skia-review.googlesource.com/65503
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).
Please review the expectation changes, and LGTM+CQ.
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
https://crrev.com/47b67c426b1d7120803e09f570e1cca312b34249 Reland "bot_update recipe: Upload source manifest" (hinoka@google.com)
R=kjlubick@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I22d3c671c6d0e654be19661c8e0d9795f920dc56
Reviewed-on: https://skia-review.googlesource.com/66060
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Ryan Tseng <hinoka@google.com>
Meanwhile, we also make the bot name more similar to the perf bot.
Bug: skia:
Change-Id: I8b0e6aa2d927aa4a0ce57606345589adb6e920b3
Reviewed-on: https://skia-review.googlesource.com/64082
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
Now the calmbench bot has the same name schema as the build bots
and we're testing using Clang instead of GCC. In the future, we
may also import some configuration schemas from perf bots.
Bug: skia:
Change-Id: Idd9556cff36b749a6c9139d34f70ac50ca48fbba
Reviewed-on: https://skia-review.googlesource.com/62920
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
These bots use https://clang.llvm.org/docs/SafeStack.html.
This separates the safe (constant size?) parts of the stack like return
address and some local variables apart from the unsafe over- and
underflow prone array uses. These go on the "unsafe stack".
In theory this makes sense on {Linux,Mac}x{Debug,Release},
but let's just start with Linux/Debug.
Change-Id: I9f5cbeb7081e7d9ac8e1298ca0d86880a6085cfa
Reviewed-on: https://skia-review.googlesource.com/62743
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Bug: skia:
Change-Id: I28d28f514b46ad0c30109beba90ae8a1bd8fc4e3
Reviewed-on: https://skia-review.googlesource.com/59961
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Bug: skia:
Change-Id: I869776e3d9d47b4a1a11089f729a0b17581eb9f7
Reviewed-on: https://skia-review.googlesource.com/57400
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
The first "sharding" technique we will try is just by test config
(e.g. 8888, gles, etc). Thus, for backwards compatibility,
the default "shard" is All, as in all configs
Bug: skia:
NOTRY=true
Change-Id: Ia02362477a5d97f8f74d688b5f0c4f45fc129375
Reviewed-on: https://skia-review.googlesource.com/59563
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Since we went to retrying the adb commands, the return value
got lost, which was used to read the SKP_VERSIOn, etc.
This fixes it.
Bug: skia:
NOTRY=true
Change-Id: Ifc61ec4cbb13a61c571b2fb89a9c0ed215f8fbd3
Reviewed-on: https://skia-review.googlesource.com/59441
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
They pull stuff of using scp, which does not perform well
if a directory does not exist.
Skpbench also needs to be updated to use new adb.
Bug: skia:
NOTRY=true
Change-Id: I1e9f2dbddaab05e1aeb4d71d97f1e6e4bfdd299a
Reviewed-on: https://skia-review.googlesource.com/59081
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
The newer adb acts more like cp when pulling. We used to
create the dm folder on the host machine before pulling.
This used to be fine,
/device/dm_out/dm.json -> /host/dm/dm.json
However, with the update, adb would do
/device/dm_out/dm.json -> /host/dm/dm_out/dm.json
This breaks the upload step. To make this transition
a smooth one, /usr/bin/adb on the RPI is staying the same
(for a while, at least) and /usr/bin/adb.1.0.35 is being added.
That way we can use the new adb on tests after this commit, but
when we backfill, we don't break because of the unexpected folder.
Bug: skia:
Change-Id: Icbed38594fca0e17af1f8d01d75c42ce03f710b9
Reviewed-on: https://skia-review.googlesource.com/58880
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>