blob: 1095d76fc0c1cfce8ff6cdfb60707a5fb8aa525e [file] [log] [blame]
<!DOCTYPE html>
<html>
<!--
Copyright (c) 2012 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.
-->
<head>
<title>LinuxPerfMaliParser tests</title>
<script src="base.js"></script>
</head>
<body>
<script>
'use strict';
base.require('unittest');
base.require('test_utils');
base.require('linux_perf_importer');
function testMaliDDKImport() {
var lines = [
// Row 1 open
' chrome-1780 [001] ...1 28.562633: tracing_mark_write: ' +
'mali_driver: cros_trace_print_enter: ' +
'gles/src/dispatch/mali_gles_dispatch_entrypoints.c992: ' +
'glTexSubImage2D',
// Row 2 open
' chrome-1780 [001] ...1 28.562655: tracing_mark_write: ' +
'mali_driver: cros_trace_print_enter: ' +
'gles/src/texture/mali_gles_texture_api.c996: ' +
'gles_texture_tex_sub_image_2d',
// Row 3 open
' chrome-1780 [001] ...1 28.562671: tracing_mark_write: ' +
'mali_driver: cros_trace_print_enter: ' +
'gles/src/texture/mali_gles_texture_slave.c295: ' +
'gles_texturep_slave_map_master',
// Row 3 close
' chrome-1780 [001] ...1 28.562684: tracing_mark_write: ' +
'mali_driver: cros_trace_print_exit: ' +
'gles/src/texture/mali_gles_texture_slave.c295: ',
// Row 3 open
' chrome-1780 [001] ...1 28.562700: tracing_mark_write: ' +
'mali_driver: cros_trace_print_enter: ' +
'gles/src/texture/mali_gles_texture_slave.c1505: ' +
'gles2_texturep_upload_2d',
// Row 4 open
' chrome-1780 [001] ...1 28.562726: tracing_mark_write: ' +
'mali_driver: cros_trace_print_enter: ' +
'gles/src/texture/mali_gles_texture_slave.c1612: ' +
'gles2_texturep_upload_2d: pixel array: wait for dependencies',
// Row 5 open
' chrome-1780 [001] ...1 28.562742: tracing_mark_write: ' +
'mali_driver: cros_trace_print_enter: ' +
'cobj/src/mali_cobj_surface_operations.c1693: ' +
'cobj_convert_pixels_to_surface',
// Row 6 open
' chrome-1780 [001] ...1 28.562776: tracing_mark_write: ' +
'mali_driver: cros_trace_print_enter: ' +
'cobj/src/mali_cobj_surface_operations.c1461: ' +
'cobj_convert_pixels',
// Row 7 open
' chrome-1780 [001] ...1 28.562791: tracing_mark_write: ' +
'mali_driver: cros_trace_print_enter: ' +
'cobj/src/mali_cobj_surface_operations.c1505: ' +
'cobj_convert_pixels: fast-path linear copy',
// Row 8 open
' chrome-1780 [001] ...1 28.562808: tracing_mark_write: ' +
'mali_driver: cros_trace_print_enter: ' +
'cobj/src/mali_cobj_surface_operations.c1511: ' +
'cobj_convert_pixels: reorder-only',
// Row 8 close
' chrome-1780 [001] ...1 28.563383: tracing_mark_write: ' +
'mali_driver: cros_trace_print_exit: ' +
'cobj/src/mali_cobj_surface_operations.c1511',
// Row 7 close
' chrome-1780 [001] ...1 28.563397: tracing_mark_write: ' +
'mali_driver: cros_trace_print_exit: ' +
'cobj/src/mali_cobj_surface_operations.c1505',
// Row 6 close
' chrome-1780 [001] ...1 28.563409: tracing_mark_write: ' +
'mali_driver: cros_trace_print_exit: ' +
'cobj/src/mali_cobj_surface_operations.c1461',
// Row 5 close
' chrome-1780 [001] ...1 28.563438: tracing_mark_write: ' +
'mali_driver: cros_trace_print_exit: ' +
'cobj/src/mali_cobj_surface_operations.c1693',
// Row 4 close
' chrome-1780 [001] ...1 28.563451: tracing_mark_write: ' +
'mali_driver: cros_trace_print_exit: ' +
'gles/src/texture/mali_gles_texture_slave.c1612',
// Row 3 close
' chrome-1780 [001] ...1 28.563462: tracing_mark_write: ' +
'mali_driver: cros_trace_print_exit: ' +
'gles/src/texture/mali_gles_texture_slave.c1505',
// Row 2 close
' chrome-1780 [001] ...1 28.563475: tracing_mark_write: ' +
'mali_driver: cros_trace_print_exit: ' +
'gles/src/texture/mali_gles_texture_api.c996',
// Row 1 close
' chrome-1780 [001] ...1 28.563486: tracing_mark_write: ' +
'mali_driver: cros_trace_print_exit: ' +
'gles/src/dispatch/mali_gles_dispatch_entrypoints.c992'
];
var m = new tracing.TimelineModel(lines.join('\n'), false);
assertEquals(0, m.importErrors.length);
var threads = m.getAllThreads();
assertEquals(1, threads.length);
var maliThread = threads[0];
assertEquals('mali_ddk', maliThread.name);
assertEquals(9, maliThread.slices.length);
}
function testDVFSFrequencyImport() {
var lines = [
' kworker/u:0-5 [001] .... 1174.839552: mali_dvfs_set_clock: ' +
'frequency=266',
' kworker/u:0-5 [000] .... 1183.840486: mali_dvfs_set_clock: ' +
'frequency=400'
];
var m = new tracing.TimelineModel(lines.join('\n'), false);
assertEquals(0, m.importErrors.length);
var c0 = m.cpus[0];
assertEquals(0, c0.slices.length);
assertEquals(2, c0.counters['DVFS Frequency'].samples.length);
}
function testDVFSVoltageImport() {
var lines = [
' kworker/u:0-5 [001] .... 1174.839562: mali_dvfs_set_voltage: ' +
'voltage=937500',
' kworker/u:0-5 [000] .... 1183.840009: mali_dvfs_set_voltage: ' +
'voltage=1100000'
];
var m = new tracing.TimelineModel(lines.join('\n'), false);
assertEquals(0, m.importErrors.length);
var c0 = m.cpus[0];
assertEquals(0, c0.slices.length);
assertEquals(2, c0.counters['DVFS Voltage'].samples.length);
}
function testDVFSUtilizationImport() {
var lines = [
' kworker/u:0-5 [001] .... 1174.839552: mali_dvfs_event: ' +
'utilization=7',
' kworker/u:0-5 [000] .... 1183.840486: mali_dvfs_event: ' +
'utilization=37'
];
var m = new tracing.TimelineModel(lines.join('\n'), false);
assertEquals(0, m.importErrors.length);
var c0 = m.cpus[0];
assertEquals(0, c0.slices.length);
assertEquals(2, c0.counters['DVFS Utilization'].samples.length);
}
</script>
</body>
</html>