Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(362)

Side by Side Diff: build/android/pylib/perf/perf_control.py

Issue 1047703002: [Android] Clean up old_interface in build/android/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « build/android/pylib/linker/test_runner.py ('k') | build/android/pylib/perf/test_runner.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2013 The Chromium Authors. All rights reserved. 1 # Copyright 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import atexit 5 import atexit
6 import logging 6 import logging
7 7
8 from pylib import android_commands 8 from pylib import android_commands
9 from pylib.device import device_utils 9 from pylib.device import device_utils
10 10
(...skipping 10 matching lines...) Expand all
21 # this will raise an AdbCommandFailedError if no CPU files are found 21 # this will raise an AdbCommandFailedError if no CPU files are found
22 self._cpu_files = self._device.RunShellCommand( 22 self._cpu_files = self._device.RunShellCommand(
23 'ls -d cpu[0-9]*', cwd=self._CPU_PATH, check_return=True, as_root=True) 23 'ls -d cpu[0-9]*', cwd=self._CPU_PATH, check_return=True, as_root=True)
24 assert self._cpu_files, 'Failed to detect CPUs.' 24 assert self._cpu_files, 'Failed to detect CPUs.'
25 self._cpu_file_list = ' '.join(self._cpu_files) 25 self._cpu_file_list = ' '.join(self._cpu_files)
26 logging.info('CPUs found: %s', self._cpu_file_list) 26 logging.info('CPUs found: %s', self._cpu_file_list)
27 self._have_mpdecision = self._device.FileExists('/system/bin/mpdecision') 27 self._have_mpdecision = self._device.FileExists('/system/bin/mpdecision')
28 28
29 def SetHighPerfMode(self): 29 def SetHighPerfMode(self):
30 """Sets the highest stable performance mode for the device.""" 30 """Sets the highest stable performance mode for the device."""
31 if not self._device.old_interface.IsRootEnabled(): 31 if not self._device.HasRoot():
32 message = 'Need root for performance mode. Results may be NOISY!!' 32 message = 'Need root for performance mode. Results may be NOISY!!'
33 logging.warning(message) 33 logging.warning(message)
34 # Add an additional warning at exit, such that it's clear that any results 34 # Add an additional warning at exit, such that it's clear that any results
35 # may be different/noisy (due to the lack of intended performance mode). 35 # may be different/noisy (due to the lack of intended performance mode).
36 atexit.register(logging.warning, message) 36 atexit.register(logging.warning, message)
37 return 37 return
38 38
39 product_model = self._device.product_model 39 product_model = self._device.product_model
40 # TODO(epenner): Enable on all devices (http://crbug.com/383566) 40 # TODO(epenner): Enable on all devices (http://crbug.com/383566)
41 if 'Nexus 4' == product_model: 41 if 'Nexus 4' == product_model:
42 self._ForceAllCpusOnline(True) 42 self._ForceAllCpusOnline(True)
43 if not self._AllCpusAreOnline(): 43 if not self._AllCpusAreOnline():
44 logging.warning('Failed to force CPUs online. Results may be NOISY!') 44 logging.warning('Failed to force CPUs online. Results may be NOISY!')
45 self._SetScalingGovernorInternal('performance') 45 self._SetScalingGovernorInternal('performance')
46 elif 'Nexus 5' == product_model: 46 elif 'Nexus 5' == product_model:
47 self._ForceAllCpusOnline(True) 47 self._ForceAllCpusOnline(True)
48 if not self._AllCpusAreOnline(): 48 if not self._AllCpusAreOnline():
49 logging.warning('Failed to force CPUs online. Results may be NOISY!') 49 logging.warning('Failed to force CPUs online. Results may be NOISY!')
50 self._SetScalingGovernorInternal('performance') 50 self._SetScalingGovernorInternal('performance')
51 self._SetScalingMaxFreq(1190400) 51 self._SetScalingMaxFreq(1190400)
52 self._SetMaxGpuClock(200000000) 52 self._SetMaxGpuClock(200000000)
53 else: 53 else:
54 self._SetScalingGovernorInternal('performance') 54 self._SetScalingGovernorInternal('performance')
55 55
56 def SetPerfProfilingMode(self): 56 def SetPerfProfilingMode(self):
57 """Enables all cores for reliable perf profiling.""" 57 """Enables all cores for reliable perf profiling."""
58 self._ForceAllCpusOnline(True) 58 self._ForceAllCpusOnline(True)
59 self._SetScalingGovernorInternal('performance') 59 self._SetScalingGovernorInternal('performance')
60 if not self._AllCpusAreOnline(): 60 if not self._AllCpusAreOnline():
61 if not self._device.old_interface.IsRootEnabled(): 61 if not self._device.HasRoot():
62 raise RuntimeError('Need root to force CPUs online.') 62 raise RuntimeError('Need root to force CPUs online.')
63 raise RuntimeError('Failed to force CPUs online.') 63 raise RuntimeError('Failed to force CPUs online.')
64 64
65 def SetDefaultPerfMode(self): 65 def SetDefaultPerfMode(self):
66 """Sets the performance mode for the device to its default mode.""" 66 """Sets the performance mode for the device to its default mode."""
67 if not self._device.old_interface.IsRootEnabled(): 67 if not self._device.HasRoot():
68 return 68 return
69 product_model = self._device.product_model 69 product_model = self._device.product_model
70 if 'Nexus 5' == product_model: 70 if 'Nexus 5' == product_model:
71 if self._AllCpusAreOnline(): 71 if self._AllCpusAreOnline():
72 self._SetScalingMaxFreq(2265600) 72 self._SetScalingMaxFreq(2265600)
73 self._SetMaxGpuClock(450000000) 73 self._SetMaxGpuClock(450000000)
74 74
75 governor_mode = { 75 governor_mode = {
76 'GT-I9300': 'pegasusq', 76 'GT-I9300': 'pegasusq',
77 'Galaxy Nexus': 'interactive', 77 'Galaxy Nexus': 'interactive',
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 """ 148 """
149 if self._have_mpdecision: 149 if self._have_mpdecision:
150 script = 'stop mpdecision' if force_online else 'start mpdecision' 150 script = 'stop mpdecision' if force_online else 'start mpdecision'
151 self._device.RunShellCommand(script, check_return=True, as_root=True) 151 self._device.RunShellCommand(script, check_return=True, as_root=True)
152 152
153 if not self._have_mpdecision and not self._AllCpusAreOnline(): 153 if not self._have_mpdecision and not self._AllCpusAreOnline():
154 logging.warning('Unexpected cpu hot plugging detected.') 154 logging.warning('Unexpected cpu hot plugging detected.')
155 155
156 if force_online: 156 if force_online:
157 self._ForEachCpu('echo 1 > "$CPU/online"') 157 self._ForEachCpu('echo 1 > "$CPU/online"')
OLDNEW
« no previous file with comments | « build/android/pylib/linker/test_runner.py ('k') | build/android/pylib/perf/test_runner.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698