5.6 Fastline

Fastline is an MTI plug-in that enables you to use Streamline to analyze code running on Fast Models. The plug-in filename is FastlineTrace.so or FastlineTrace.dll.

Fastline generates traces in .apc format that you can import into Streamline for analysis. It enables analysis of Linux-based kernels, native applications running on a Linux-based OS, and bare-metal applications that are built with debug information, without the need for extra instrumentation.

Fastline needs to be set up differently depending on whether it is running on a bare-metal or Linux target. Before you load the plug-in into a model, you must run one of the following Python scripts:

  • For Linux, run extract-offsets.py to extract the address offsets of Linux kernel data structures.

  • For bare-metal, run process-elf.py to generate a csv file that contains function addresses and symbol names.

These scripts are located in $PVLIB_HOME/plugins/source/FastlineTrace/scripts/.

Fastline has the following features:

  • Allows you to set the sampling frequency. Increasing this value improves the accuracy of the trace, at the cost of increased file sizes and reduced simulation speed.
  • Traces Linux thread context switches and open() and execve() syscalls.
  • Works on SMP and multi-cluster systems.
  • Maps MTI trace sources to Streamline counters.
  • Allows you to set conditions on MTI trace sources, based on their field values.

Fastline has the following limitations:

  • It only supports Linux kernel versions that use the process control and memory management corresponding to Linux kernel version 4.5.
This section contains the following subsections:
Non-ConfidentialPDF file icon PDF version100964_1110_00_en
Copyright © 2014–2020 Arm Limited or its affiliates. All rights reserved.