blob: a505fe956bb19ea1b85e52cdbb37cd03375c79bd [file] [log] [blame]
# Copyright 2018 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
from autotest_lib.client.common_lib import utils
AUTHOR = 'dave.rodgman@arm.com'
NAME = 'kernel_IdlePerf'
PURPOSE = 'Test performance impact of idle'
CRITERIA = 'This test will fail if performance drops when CPU idle is enabled'
ATTRIBUTES = 'suite:crosbolt_perf_weekly'
TIME = 'MEDIUM'
TEST_CATEGORY = 'Performance'
TEST_CLASS = 'kernel'
TEST_TYPE = 'server'
DOC = '''
This server side test suite tests for performance regressions where enabling
CPU idle hurts latency-sensitive workloads (e.g., smooth scrolling).
This is done by running smoothness.top_25_smooth and comparing results for
idle enabled vs. disabled: ideally, there should be only a very small impact.
This test currently only supports Arm aarch64.
Pass local=True to run with local telemetry and no AFE server.
'''
def run_benchmark(machine):
host = hosts.create_host(machine)
job.run_test('kernel_IdlePerf', host=host,
args=utils.args_to_dict(args))
parallel_simple(run_benchmark, machines)