Commit Graph

14 Commits

Author SHA1 Message Date
Kevin Lubick
e3b013047d Experiment with turning CPUs off during perf
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>
2017-12-13 11:38:22 +00:00
Kevin Lubick
1763492c32 Fix scaling logic for NexusPlayer and AndroidOne
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>
2017-12-12 13:31:49 +00:00
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
Ben Wagner
2fc5322a04 Remove Nexus10.
Bug: skia:7381
Change-Id: I8e151c5c57f6344c9cdf165bbb78a4ed308491c8
NoTry: true
Reviewed-on: https://skia-review.googlesource.com/82804
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-12-08 22:07:18 +00:00
Kevin Lubick
7f5d5d2bab Fix scaling issues for some devices (e.g. Pixel)
Bug: skia:
NOTRY=true
Change-Id: Ia6a80ecb97b5d30197932ec7d340163624e315bd
Reviewed-on: https://skia-review.googlesource.com/82682
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2017-12-08 15:41:50 +00:00
Kevin Lubick
4fd283eb7a Use full paths for adb
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>
2017-12-07 17:06:59 +00:00
Mike Klein
bbfe515474 remove ThermalManager
It throttles 1000x more than intended, and I suspect that some of the
trip points it uses to decide when to throttle make no sense.  We've
already turned it off on the Nexus 5x.

Change-Id: Idf556a83fe61ccc5f63c7bede3eecbe80087e28b
Reviewed-on: https://skia-review.googlesource.com/81303
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-12-06 21:25:29 +00:00
Kevin Lubick
4c6bde2a27 Don't set min frequency for Android devices
Bug: skia:7378
NOTRY=true
No-Tree-Checks: true
Change-Id: Iaacbc8eadaa4da9832a53d4794a2214625bef9b6
Reviewed-on: https://skia-review.googlesource.com/80842
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2017-12-05 21:28:48 +00:00
Kevin Lubick
de2f1dfebd Turn up Nexus10 CPU frequencies
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>
2017-11-30 15:32:52 +00:00
Kevin Lubick
1c8092ac64 Make cpu scaling more robust
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>
2017-11-30 14:13:22 +00:00
Kevin Lubick
3ad5e61d80 Fix scaling on Nexus 7 bots
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>
2017-11-22 15:34:34 +00:00
Kevin Lubick
d1bbd5f777 Make CPU scaling code cleaner
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>
2017-11-21 22:38:20 +00:00
Kevin Lubick
bca95a5ac5 Put CPU frequency scaling in recipes
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>
2017-11-20 21:14:18 +00:00
Kevin Lubick
9ef6de7824 Add in test_filter to build configuration
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>
2017-10-16 11:09:49 +00:00