Commit Graph

18 Commits

Author SHA1 Message Date
Kevin Lubick
1c153c0fba Trying gpu scaling on Nexus 5 and 5x
We do some of this already in skpbench.

Bug: skia:
Change-Id: Ia698466e83f9b476644c126747a2f89346361d13
Reviewed-on: https://skia-review.googlesource.com/93561
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2018-01-11 19:22:36 +00:00
Kevin Lubick
e9188850ec Revert "Revert "Disable extra CPUs during Nanobench""
This reverts commit 43307c09b9.

Reason for revert: Fixed this time.  Echo 1 > already online cpu
returns exit code 1, which makes python over-react.

Original change's description:
> Revert "Disable extra CPUs during Nanobench"
>
> This reverts commit 32af335e7a.
>
> Reason for revert: many unhappy android bots
>
> Original change's description:
> > Disable extra CPUs during Nanobench
> >
> > The previous experiment revealed that nanobench can
> > run on any of the online CPUs, so rather than put
> > the ones we don't need/want into powersave mode, just
> > disable them.
> >
> > Maybe in the future we can run CPU tests on the big
> > or LITTLE cpus to get perf data on higher end or
> > lower end cpus, but only if we get very stable
> > results from this.
> >
> > Bug: skia:7378
> > Change-Id: I057513a691093e7f73c0f5790e17fab1a5ec0bc4
> > Reviewed-on: https://skia-review.googlesource.com/84820
> > Reviewed-by: Kevin Lubick <kjlubick@google.com>
> > Commit-Queue: Kevin Lubick <kjlubick@google.com>
>
> TBR=borenet@google.com,mtklein@google.com,kjlubick@google.com
>
> Change-Id: I23c37a6bde631e95f0b4ae7277ec8fcf325a00e9
> Bug: skia:7378
> Reviewed-on: https://skia-review.googlesource.com/84921
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

No-Tree-Checks: true
Change-Id: Ie7f0a3dc6ba55c124c796aba16a0f0497f285f3a
Bug: skia:7378
Reviewed-on: https://skia-review.googlesource.com/84865
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2017-12-14 15:21:01 +00:00
Mike Klein
43307c09b9 Revert "Disable extra CPUs during Nanobench"
This reverts commit 32af335e7a.

Reason for revert: many unhappy android bots

Original change's description:
> Disable extra CPUs during Nanobench
> 
> The previous experiment revealed that nanobench can
> run on any of the online CPUs, so rather than put
> the ones we don't need/want into powersave mode, just
> disable them.
> 
> Maybe in the future we can run CPU tests on the big
> or LITTLE cpus to get perf data on higher end or
> lower end cpus, but only if we get very stable
> results from this.
> 
> Bug: skia:7378
> notry=true
> notreechecks=true
> Change-Id: I057513a691093e7f73c0f5790e17fab1a5ec0bc4
> Reviewed-on: https://skia-review.googlesource.com/84820
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
> Commit-Queue: Kevin Lubick <kjlubick@google.com>

TBR=borenet@google.com,mtklein@google.com,kjlubick@google.com

Change-Id: I23c37a6bde631e95f0b4ae7277ec8fcf325a00e9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:7378
Reviewed-on: https://skia-review.googlesource.com/84921
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2017-12-14 12:18:42 +00:00
Kevin Lubick
32af335e7a Disable extra CPUs during Nanobench
The previous experiment revealed that nanobench can
run on any of the online CPUs, so rather than put
the ones we don't need/want into powersave mode, just
disable them.

Maybe in the future we can run CPU tests on the big
or LITTLE cpus to get perf data on higher end or
lower end cpus, but only if we get very stable
results from this.

Bug: skia:7378
notry=true
notreechecks=true
Change-Id: I057513a691093e7f73c0f5790e17fab1a5ec0bc4
Reviewed-on: https://skia-review.googlesource.com/84820
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2017-12-14 11:49:01 +00:00
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