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

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

Issue 761903003: Update from https://crrev.com/306655 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years 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/setup.py ('k') | build/android/pylib/perf/test_options.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
11 class PerfControl(object): 11 class PerfControl(object):
12 """Provides methods for setting the performance mode of a device.""" 12 """Provides methods for setting the performance mode of a device."""
13 _CPU_PATH = '/sys/devices/system/cpu' 13 _CPU_PATH = '/sys/devices/system/cpu'
14 _KERNEL_MAX = '/sys/devices/system/cpu/kernel_max' 14 _KERNEL_MAX = '/sys/devices/system/cpu/kernel_max'
15 15
16 def __init__(self, device): 16 def __init__(self, device):
17 # TODO(jbudorick) Remove once telemetry gets switched over. 17 # TODO(jbudorick) Remove once telemetry gets switched over.
18 if isinstance(device, android_commands.AndroidCommands): 18 if isinstance(device, android_commands.AndroidCommands):
19 device = device_utils.DeviceUtils(device) 19 device = device_utils.DeviceUtils(device)
20 self._device = device 20 self._device = device
21 # this will raise an AdbShellCommandFailedError 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.old_interface.IsRootEnabled():
(...skipping 116 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/setup.py ('k') | build/android/pylib/perf/test_options.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698