aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/skpbench
diff options
context:
space:
mode:
authorGravatar Chris Dalton <csmartdalton@google.com>2017-10-23 17:19:37 -0600
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-10-24 15:54:31 +0000
commit49b7ed30641916efdd7da76cad6af69ca621cc9b (patch)
tree6c61299ec727dc386fb8a7ee0a3e2f0af9388f29 /tools/skpbench
parentc29bb571f7e3a82c3386a5b004cd84afdc88a0a2 (diff)
skpbench: always reboot instead of unlocking clocks
Bug: skia: Change-Id: I2589c672823f1da8ea136e90fa083431b4f2e3b2 Reviewed-on: https://skia-review.googlesource.com/62945 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
Diffstat (limited to 'tools/skpbench')
-rw-r--r--tools/skpbench/_hardware_android.py16
-rw-r--r--tools/skpbench/_hardware_nexus_6p.py57
-rw-r--r--tools/skpbench/_hardware_pixel.py60
-rw-r--r--tools/skpbench/_hardware_pixel_c.py42
-rwxr-xr-xtools/skpbench/skpbench.py2
5 files changed, 12 insertions, 165 deletions
diff --git a/tools/skpbench/_hardware_android.py b/tools/skpbench/_hardware_android.py
index fd001b201d..62e3ddd420 100644
--- a/tools/skpbench/_hardware_android.py
+++ b/tools/skpbench/_hardware_android.py
@@ -16,8 +16,6 @@ class HardwareAndroid(Hardware):
if self._adb.root():
self._adb.remount()
- self._initial_ASLR = \
- self._adb.check('cat /proc/sys/kernel/randomize_va_space')
def __enter__(self):
Hardware.__enter__(self)
@@ -61,19 +59,7 @@ class HardwareAndroid(Hardware):
def __exit__(self, exception_type, exception_value, traceback):
Hardware.__exit__(self, exception_type, exception_value, traceback)
-
- if self._adb.is_root():
- self._adb.shell('\n'.join([
- # restore ASLR.
- '''
- echo %s > /proc/sys/kernel/randomize_va_space''' % self._initial_ASLR,
-
- # revive the gui.
- '''
- setprop ctl.start drm
- setprop ctl.start surfaceflinger
- setprop ctl.start zygote
- setprop ctl.start media''']))
+ self._adb.reboot() # some devices struggle waking up; just hard reboot.
def sanity_check(self):
Hardware.sanity_check(self)
diff --git a/tools/skpbench/_hardware_nexus_6p.py b/tools/skpbench/_hardware_nexus_6p.py
index 58eb52f925..5ca63fdeda 100644
--- a/tools/skpbench/_hardware_nexus_6p.py
+++ b/tools/skpbench/_hardware_nexus_6p.py
@@ -15,17 +15,8 @@ class HardwareNexus6P(HardwareAndroid):
def __enter__(self):
HardwareAndroid.__enter__(self)
- self._lock_clocks()
- return self
-
- def __exit__(self, exception_type, exception_value, exception_traceback):
- self._unlock_clocks()
- HardwareAndroid.__exit__(self, exception_type,
- exception_value, exception_traceback)
-
- def _lock_clocks(self):
if not self._adb.is_root():
- return
+ return self
self._adb.shell('''\
stop thermal-engine
@@ -73,51 +64,7 @@ class HardwareNexus6P(HardwareAndroid):
echo 9887 > /sys/class/devfreq/qcom,gpubw.70/max_freq
echo 9887 > /sys/class/devfreq/qcom,gpubw.70/min_freq''')
- def _unlock_clocks(self):
- if not self._adb.is_root():
- return
-
- # restore ddr settings to default.
- self._adb.shell('''\
- echo 1525 > /sys/class/devfreq/qcom,cpubw.32/min_freq
- echo 9887 > /sys/class/devfreq/qcom,cpubw.32/max_freq
- echo bw_hwmon > /sys/class/devfreq/qcom,cpubw.32/governor
- echo 1525 > /sys/class/devfreq/qcom,gpubw.70/min_freq
- echo 9887 > /sys/class/devfreq/qcom,gpubw.70/max_freq
- echo bw_hwmon > /sys/class/devfreq/qcom,gpubw.70/governor''')
-
- # restore gpu settings to default.
- self._adb.shell('''\
- echo 180000000 > /sys/class/kgsl/kgsl-3d0/devfreq/min_freq
- echo 600000000 > /sys/class/kgsl/kgsl-3d0/devfreq/max_freq
- echo 180000000 > /sys/class/kgsl/kgsl-3d0/gpuclk
- echo msm-adreno-tz > /sys/class/kgsl/kgsl-3d0/devfreq/governor
- echo 0 > /sys/class/kgsl/kgsl-3d0/idle_timer
- echo 0 > /sys/class/kgsl/kgsl-3d0/force_clk_on
- echo 0 > /sys/class/kgsl/kgsl-3d0/force_rail_on
- echo 0 > /sys/class/kgsl/kgsl-3d0/force_bus_on
- echo 1 > /sys/class/kgsl/kgsl-3d0/bus_split''')
-
- # turn the disabled cores back on.
- self._adb.shell('''\
- for N in 7 3 2 1 0; do
- echo 1 > /sys/devices/system/cpu/cpu$N/online
- done''')
-
- # unlock the 3 enabled big cores.
- self._adb.shell('''\
- for N in 6 5 4; do
- echo 633600 > /sys/devices/system/cpu/cpu$N/cpufreq/scaling_min_freq
- echo 1958400 > /sys/devices/system/cpu/cpu$N/cpufreq/scaling_max_freq
- echo 0 > /sys/devices/system/cpu/cpu$N/cpufreq/scaling_setspeed
- echo interactive > /sys/devices/system/cpu/cpu$N/cpufreq/scaling_governor
- done''')
-
- self._adb.shell('''\
- start mpdecision
- start perfd
- start thermald
- start thermal-engine''')
+ return self
def sanity_check(self):
HardwareAndroid.sanity_check(self)
diff --git a/tools/skpbench/_hardware_pixel.py b/tools/skpbench/_hardware_pixel.py
index aa75c5f63f..4cdf21ac8c 100644
--- a/tools/skpbench/_hardware_pixel.py
+++ b/tools/skpbench/_hardware_pixel.py
@@ -26,16 +26,8 @@ class HardwarePixel(HardwareAndroid):
def __enter__(self):
HardwareAndroid.__enter__(self)
- self._lock_clocks()
- return self
-
- def __exit__(self, exception_type, exception_value, exception_traceback):
- # pixel struggles waking up; just pull a hard reboot.
- self._adb.reboot()
-
- def _lock_clocks(self):
if not self._adb.is_root():
- return
+ return self
self._adb.shell('\n'.join(['''\
stop thermal-engine
@@ -79,48 +71,7 @@ class HardwarePixel(HardwareAndroid):
self._devfreq_lock_cmds))
- def _unlock_clocks(self):
- if not self._adb.is_root():
- return
-
- self._adb.shell('\n'.join(
- self._devfreq_unlock_cmds + [
-
- # restore gpu settings to default.
- '''
- echo 133000000 > /sys/class/kgsl/kgsl-3d0/devfreq/min_freq
- echo 600000000 > /sys/class/kgsl/kgsl-3d0/devfreq/max_freq
- echo 0 > /sys/class/kgsl/kgsl-3d0/gpuclk
- echo msm-adreno-tz > /sys/class/kgsl/kgsl-3d0/devfreq/governor
- echo 6 > /sys/class/kgsl/kgsl-3d0/min_pwrlevel
- echo 0 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel
- echo 1 > /sys/class/kgsl/kgsl-3d0/thermal_pwrlevel
- echo 0 > /sys/class/kgsl/kgsl-3d0/idle_timer
- echo 0 > /sys/class/kgsl/kgsl-3d0/force_clk_on
- echo 0 > /sys/class/kgsl/kgsl-3d0/force_rail_on
- echo 0 > /sys/class/kgsl/kgsl-3d0/force_bus_on
- echo 1 > /sys/class/kgsl/kgsl-3d0/bus_split''',
-
- # turn the disabled cores back on.
- '''
- for N in 0 1; do
- echo 1 > /sys/devices/system/cpu/cpu$N/online
- done''',
-
- # unlock the 2 enabled big cores.
- '''
- for N in 2 3; do
- echo 307200 > /sys/devices/system/cpu/cpu$N/cpufreq/scaling_min_freq
- echo 2150400 > /sys/devices/system/cpu/cpu$N/cpufreq/scaling_max_freq
- echo 0 > /sys/devices/system/cpu/cpu$N/cpufreq/scaling_setspeed
- echo sched > /sys/devices/system/cpu/cpu$N/cpufreq/scaling_governor
- done''',
-
- '''
- start mpdecision
- start perfd
- start thermald
- start thermal-engine''']))
+ return self
def sanity_check(self):
HardwareAndroid.sanity_check(self)
@@ -160,7 +111,6 @@ class HardwarePixel(HardwareAndroid):
def _discover_devfreqs(self):
self._devfreq_lock_cmds = list()
- self._devfreq_unlock_cmds = list()
self._devfreq_sanity_knobs = list()
self._devfreq_sanity_expectations = list()
@@ -191,8 +141,6 @@ class HardwarePixel(HardwareAndroid):
continue
self._devfreq_lock_cmds.append('echo performance > %s/governor' % path)
- self._devfreq_unlock_cmds.append('echo %s > %s/governor' %
- (knobs.governor, path))
frequencies = map(int, knobs.available_frequencies.split())
if frequencies:
@@ -207,10 +155,6 @@ class HardwarePixel(HardwareAndroid):
(bench_frequency, path))
self._devfreq_lock_cmds.append('echo %i > %s/max_freq' %
(bench_frequency, path))
- self._devfreq_unlock_cmds.append('echo %s > %s/min_freq' %
- (knobs.min_freq, path))
- self._devfreq_unlock_cmds.append('echo %s > %s/max_freq' %
- (knobs.max_freq, path))
self._devfreq_sanity_knobs.append('%s/cur_freq' % path)
self._devfreq_sanity_expectations.append(
Expectation(int, exact_value=bench_frequency,
diff --git a/tools/skpbench/_hardware_pixel_c.py b/tools/skpbench/_hardware_pixel_c.py
index cdd9ff602f..037ae215c2 100644
--- a/tools/skpbench/_hardware_pixel_c.py
+++ b/tools/skpbench/_hardware_pixel_c.py
@@ -16,22 +16,8 @@ class HardwarePixelC(HardwareAndroid):
def __enter__(self):
HardwareAndroid.__enter__(self)
- self._lock_clocks()
- return self
-
- def __exit__(self, exception_type, exception_value, exception_traceback):
- self._unlock_clocks()
- HardwareAndroid.__exit__(self, exception_type,
- exception_value, exception_traceback)
-
- def filter_line(self, line):
- JUNK = ['NvRmPrivGetChipPlatform: Could not read platform information',
- 'Expected on kernels without fuse support, using silicon']
- return False if line in JUNK else HardwareAndroid.filter_line(self, line)
-
- def _lock_clocks(self):
if not self._adb.is_root():
- return
+ return self
self._adb.shell('\n'.join([
# turn on and lock the first 3 cores.
@@ -53,28 +39,12 @@ class HardwarePixelC(HardwareAndroid):
chown root:root /sys/devices/57000000.gpu/pstate
echo %s > /sys/devices/57000000.gpu/pstate''' % GPU_EMC_PROFILE_ID]))
- def _unlock_clocks(self):
- if not self._adb.is_root():
- return
-
- self._adb.shell('\n'.join([
- # unlock gpu/emc clocks.
- '''
- echo auto > /sys/devices/57000000.gpu/pstate
- chown system:system /sys/devices/57000000.gpu/pstate''',
-
- # turn the fourth core back on.
- '''
- echo 1 > /sys/devices/system/cpu/cpu3/online''',
+ return self
- # unlock the first 3 cores.
- '''
- for N in 2 1 0; do
- echo 1912500 > /sys/devices/system/cpu/cpu$N/cpufreq/scaling_max_freq
- echo 51000 > /sys/devices/system/cpu/cpu$N/cpufreq/scaling_min_freq
- echo 0 > /sys/devices/system/cpu/cpu$N/cpufreq/scaling_setspeed
- echo interactive >/sys/devices/system/cpu/cpu$N/cpufreq/scaling_governor
- done''']))
+ def filter_line(self, line):
+ JUNK = ['NvRmPrivGetChipPlatform: Could not read platform information',
+ 'Expected on kernels without fuse support, using silicon']
+ return False if line in JUNK else HardwareAndroid.filter_line(self, line)
def sanity_check(self):
HardwareAndroid.sanity_check(self)
diff --git a/tools/skpbench/skpbench.py b/tools/skpbench/skpbench.py
index b8bae74660..f2df9b679d 100755
--- a/tools/skpbench/skpbench.py
+++ b/tools/skpbench/skpbench.py
@@ -283,7 +283,7 @@ def run_benchmarks(configs, skps, hardware, resultsfile=None):
if FLAGS.verbosity >= 4:
hardware.print_debug_diagnostics()
if FLAGS.verbosity >= 1:
- print("%s; exiting benchmark mode to take a %i second nap..." %
+ print("%s; rebooting and taking a %i second nap..." %
(exception.message, exception.sleeptime), file=sys.stderr)
benches.appendleft(benchargs) # retry the same bench next time.
raise # wake hw up from benchmarking mode before the nap.