| # Copyright (c) 2014 The Chromium OS Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| AUTHOR = "David Sharp <dhsharp@chromium.org>" |
| NAME = "hardware_PerfCounterVerification" |
| TIME = "SHORT" |
| TEST_CATEGORY = "Functional" |
| TEST_CLASS = "hardware" |
| TEST_TYPE = "client" |
| JOB_RETRIES = 2 |
| ATTRIBUTES = "suite:experimental" |
| |
| BUG_TEMPLATE = { |
| 'owner': 'dhsharp@chromium.org', |
| 'cc': ['cwp-team@google.com'] |
| } |
| |
| DOC = """ |
| Verify performance counters |
| |
| Arguments: |
| events: Events to pass to perf's -e argument. Events are passed in together, |
| so multiplexing may occur if more than one is specified. |
| perf_cmd: Which perf command to use to collect events. Supported values are |
| "stat" and "record -b" (for branch record). |
| program: Benchmark binary |
| multiplier: Multiplier on the number of loop iterations passed to the |
| benchmark binary. i.e., run 1*multiplier, 2*multiplier, etc loop iterations. |
| """ |
| |
| job.run_test('hardware_PerfCounterVerification', tag='cycles_instructions', |
| perf_cmd='stat', events=('cycles', 'instructions'), |
| program='noploop', multiplier=10000000) |
| |
| job.run_test('hardware_PerfCounterVerification', tag='LBR', |
| perf_cmd='record -b', events=('br_inst_retired.all_branches',), |
| program='noploop', multiplier=10000000) |
| |
| job.run_test('hardware_PerfCounterVerification', tag='iTLB_misses', |
| perf_cmd='stat', events=('iTLB-misses','cycles'), |
| program='iTLB_benchmark', multiplier=100) |
| |
| job.run_test('hardware_PerfCounterVerification', tag='dTLB_misses', |
| perf_cmd='stat', events=('dTLB-misses','cycles'), |
| program='dTLB_benchmark', multiplier=10000) |