Developer Guide

  • 2021.2
  • 06/11/2021
  • Public

MRL Sample Workload Validation Script

The MMIO Read Latency (MRL) sample workload validation script runs the MRL workload and checks that the maximum round-trip time of an MMIO read falls below a desired threshold.
The script does the following:
  1. Prepares a board for validation.
  2. Runs the MMIO Read Latency (MRL) sample workload on the target system.
  3. Compares the maximum latency measurement with the latency requirement specified in the
    command-line option.
  4. Returns 0 if the maximum latency measurement is equal to or lower than the latency requirement, indicating validation was successful. Returns non-zero otherwise.

Script Locations

You can find the sample script in the following directories:
Binary directory:
Source directory:
  • Host system:
  • Yocto Project*-based image:

Command-Line Options

usage: [-h] [-i ITERATIONS] [-c CORE] [-o OUTLIERS] [-m MODLIST] [-p {TGL-U,EHL,AUTO}] -d DEVICE -l LATENCY
-h, --help
Optional. Show this help message and exit
Optional. Execute N iterations of the main loop to gather more precise timing statistics. (default: 1000)
-c CORE, --core CORE
Optional. Processor core on which the sample will run. (default: 3)
-o OUTLIERS, --outliers OUTLIERS
Optional. This parameter is used to filter iterations that executed greater than N instructions. By default, N is set to the expected amount of instructions for measuring latency of a single MMIO read transaction. By removing iterations with instructions greater than N, MRL is effectively masking interrupts and software overhead. (default: 40)
-m MODLIST, --modlist MODLIST
Optional. Specify a list of comma-separated kernel modules to unload and load. This can be used to unload a module that may interfere with MMIO testing before the test occurs and restore it after the test has finished. Unloading will occur in the listed order. (default: None)
-p {TGL-U,EHL,AUTO}, --processor {TGL-U,EHL,AUTO}
Optional. Processor where the MRL application will be executed. (default: AUTO)
-d DEVICE, --device DEVICE
Required. Specify device name. Valid values are
. (default: None)
-l LATENCY, --latency_us LATENCY
Required. Maximum tolerable latency in microseconds (us). (default: None)

Product and Performance Information


Performance varies by use, configuration and other factors. Learn more at