aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--crosperf/suite_runner.py39
-rwxr-xr-xcrosperf/suite_runner_unittest.py41
2 files changed, 36 insertions, 44 deletions
diff --git a/crosperf/suite_runner.py b/crosperf/suite_runner.py
index 678113a7..66d8109f 100644
--- a/crosperf/suite_runner.py
+++ b/crosperf/suite_runner.py
@@ -88,22 +88,26 @@ class SuiteRunner(object):
# pyformat: disable
set_cpu_freq = (
'set -e && '
+ # Disable Turbo in Intel pstate driver
+ 'if [[ -e /sys/devices/system/cpu/intel_pstate/no_turbo ]]; then '
+ 'echo -n 1 > /sys/devices/system/cpu/intel_pstate/no_turbo; fi; '
+ # Set governor to performance for each cpu
'for f in /sys/devices/system/cpu/cpu*/cpufreq; do '
'cd $f; '
- 'val=0; '
- 'if [[ -e scaling_available_frequencies ]]; then '
- # pylint: disable=line-too-long
- ' val=`cat scaling_available_frequencies | tr " " "\\n" | sort -n -b -r`; '
- 'else '
- ' val=`cat scaling_max_freq | tr " " "\\n" | sort -n -b -r`; fi ; '
- 'set -- $val; '
- 'highest=$1; '
- 'if [[ $# -gt 1 ]]; then '
- ' case $highest in *1000) highest=$2;; esac; '
- 'fi ;'
- 'echo $highest > scaling_max_freq; '
- 'echo $highest > scaling_min_freq; '
'echo performance > scaling_governor; '
+ # Uncomment rest of lines to enable setting frequency by crosperf
+ #'val=0; '
+ #'if [[ -e scaling_available_frequencies ]]; then '
+ #' val=`cat scaling_available_frequencies | tr " " "\\n" | sort -n -b -r`; '
+ #'else '
+ #' val=`cat scaling_max_freq | tr " " "\\n" | sort -n -b -r`; fi ; '
+ #'set -- $val; '
+ #'highest=$1; '
+ #'if [[ $# -gt 1 ]]; then '
+ #' case $highest in *1000) highest=$2;; esac; '
+ #'fi ;'
+ #'echo $highest > scaling_max_freq; '
+ #'echo $highest > scaling_min_freq; '
'done'
)
# pyformat: enable
@@ -218,11 +222,10 @@ class SuiteRunner(object):
args_string = "test_args='%s'" % test_args
cmd = ('{} {} {} --board={} --args="{} run_local={} test={} '
- '{}" {} telemetry_Crosperf'.format(TEST_THAT_PATH, autotest_dir_arg,
- fast_arg, label.board,
- args_string, benchmark.run_local,
- benchmark.test_name,
- profiler_args, machine))
+ '{}" {} telemetry_Crosperf'.format(
+ TEST_THAT_PATH, autotest_dir_arg, fast_arg, label.board,
+ args_string, benchmark.run_local, benchmark.test_name,
+ profiler_args, machine))
# Use --no-ns-pid so that cros_sdk does not create a different
# process namespace and we can kill process created easily by their
diff --git a/crosperf/suite_runner_unittest.py b/crosperf/suite_runner_unittest.py
index fd8de661..4b87f9c7 100755
--- a/crosperf/suite_runner_unittest.py
+++ b/crosperf/suite_runner_unittest.py
@@ -28,10 +28,9 @@ class SuiteRunnerTest(unittest.TestCase):
mock_cmd_exec = mock.Mock(spec=command_executer.CommandExecuter)
mock_cmd_term = mock.Mock(spec=command_executer.CommandTerminator)
mock_logger = mock.Mock(spec=logger.Logger)
- mock_label = label.MockLabel('lumpy', 'lumpy_chromeos_image', '',
- '/tmp/chromeos', 'lumpy',
- ['lumpy1.cros', 'lumpy.cros2'], '', '', False,
- 'average', 'gcc', '')
+ mock_label = label.MockLabel(
+ 'lumpy', 'lumpy_chromeos_image', '', '/tmp/chromeos', 'lumpy',
+ ['lumpy1.cros', 'lumpy.cros2'], '', '', False, 'average', 'gcc', '')
telemetry_crosperf_bench = Benchmark(
'b1_test', # name
'octane', # test_name
@@ -72,9 +71,8 @@ class SuiteRunnerTest(unittest.TestCase):
self.call_telemetry_run = False
def setUp(self):
- self.runner = suite_runner.SuiteRunner(self.mock_logger, 'verbose',
- self.mock_cmd_exec,
- self.mock_cmd_term)
+ self.runner = suite_runner.SuiteRunner(
+ self.mock_logger, 'verbose', self.mock_cmd_exec, self.mock_cmd_term)
def test_get_profiler_args(self):
input_str = ('--profiler=custom_perf --profiler_args=\'perf_options'
@@ -136,9 +134,9 @@ class SuiteRunnerTest(unittest.TestCase):
self.assertTrue(self.call_telemetry_run)
self.assertFalse(self.call_test_that_run)
self.assertFalse(self.call_telemetry_crosperf_run)
- self.assertEqual(
- self.telemetry_run_args,
- ['fake_machine', self.mock_label, self.telemetry_bench, ''])
+ self.assertEqual(self.telemetry_run_args, [
+ 'fake_machine', self.mock_label, self.telemetry_bench, ''
+ ])
reset()
self.runner.Run(machine, self.mock_label, self.test_that_bench, test_args,
@@ -147,9 +145,9 @@ class SuiteRunnerTest(unittest.TestCase):
self.assertFalse(self.call_telemetry_run)
self.assertTrue(self.call_test_that_run)
self.assertFalse(self.call_telemetry_crosperf_run)
- self.assertEqual(
- self.test_that_args,
- ['fake_machine', self.mock_label, self.test_that_bench, '', ''])
+ self.assertEqual(self.test_that_args, [
+ 'fake_machine', self.mock_label, self.test_that_bench, '', ''
+ ])
reset()
self.runner.Run(machine, self.mock_label, self.telemetry_crosperf_bench,
@@ -171,21 +169,12 @@ class SuiteRunnerTest(unittest.TestCase):
# pyformat: disable
set_cpu_cmd = (
'set -e && '
+ # Disable Turbo in Intel pstate driver
+ 'if [[ -e /sys/devices/system/cpu/intel_pstate/no_turbo ]]; then '
+ 'echo -n 1 > /sys/devices/system/cpu/intel_pstate/no_turbo; fi; '
+ # Set governor to performance for each cpu
'for f in /sys/devices/system/cpu/cpu*/cpufreq; do '
'cd $f; '
- 'val=0; '
- 'if [[ -e scaling_available_frequencies ]]; then '
- # pylint: disable=line-too-long
- ' val=`cat scaling_available_frequencies | tr " " "\\n" | sort -n -b -r`; '
- 'else '
- ' val=`cat scaling_max_freq | tr " " "\\n" | sort -n -b -r`; fi ; '
- 'set -- $val; '
- 'highest=$1; '
- 'if [[ $# -gt 1 ]]; then '
- ' case $highest in *1000) highest=$2;; esac; '
- 'fi ;'
- 'echo $highest > scaling_max_freq; '
- 'echo $highest > scaling_min_freq; '
'echo performance > scaling_governor; '
'done'
)