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:
- Prepares a board for validation.
- Runs the MMIO Read Latency (MRL) sample workload on the target system.
- Compares the maximum latency measurement with the latency requirement specified in the--latency_uscommand-line option.
- 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:
/usr/share/tcc_tools/tools/demo/workloads/bin/mrl_validation_script.py
Source directory:
- Host system:${TCC_TOOLS_PATH}/demo/workloads/src/mrl_workload/mrl_validation_script.py
- Yocto Project*-based image:/usr/share/tcc_tools/tools/demo/workloads/src/mrl_workload/mrl_validation_script.py
Command-Line Options
usage: mrl_validation_script.py [-h] [-i ITERATIONS] [-c CORE] [-o OUTLIERS] [-m MODLIST]
[-p {TGL-U,EHL,AUTO}] -d DEVICE -l LATENCY
Option | Description |
---|---|
-h, --help | Optional. Show this help message and exit |
-i ITERATIONS, --iterations ITERATIONS | 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 TSN or I225 . (default: None) |
-l LATENCY, --latency_us LATENCY | Required. Maximum tolerable latency in microseconds (us). (default: None) |