diff options
-rw-r--r-- | crosperf/suite_runner.py | 39 | ||||
-rwxr-xr-x | crosperf/suite_runner_unittest.py | 41 |
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' ) |