Complete and Verify Deployment¶
Verify Real-time Linux Kernel¶
The section is applicable to:

Do the following to complete and verify ECI deployment:
Reboot the target system, if not already done. When the system boots to the GRUB menu, there should be a menu entry for ECI at the top of the GRUB menu list. Select this menu entry, or wait five seconds for this menu entry to automatically boot.
Let the system boot normally.
Note: If the system does not boot, then secure boot may be enabled in the BIOS. You may either disable secure boot in the BIOS, or sign the Linux kernel by completing section UEFI Secure Boot.
Login to the system and verify that the ECI Linux* Intel LTS PREEMPT_RT kernel is active by running the command
uname -a
. The output of this command should contain the following based on which kernel was installed:Linux Intel LTS PREEMPT_RT kernel:
...-intel-ese-standard-lts-rt+ #1 SMP PREEMPT_RT ...
Linux Intel LTS Xenomai Dovetail kernel:
...-intel-ese-standard-lts-dovetail+ #1 SMP PREEMPT ...
The section is applicable to:

Do the following to complete and verify deployment:
Reboot the target system, if not already done. Let the system boot normally.
Login to the system and verify that the Linux* PREEMPT_RT kernel is active by running the command
uname -a
. The output of this command should contain the following:Linux PREEMPT_RT kernel:
...x86_64 #1 SMP PREEMPT_RT ...
Verify Benchmark Performance¶
After installing and verifying the real-time Linux kernel, it’s a good idea to benchmark the system to establish confidence that the system is properly configured. This section will guide you through some basic benchmarks you can use to evaluate your system.
Verify: Cyclictest Workload¶
Benchmark |
Units |
Version |
Source |
---|---|---|---|
Cyclictest |
microseconds |
2.4 Debian 12 (Bookworm) / 2.5 Canonical® Ubuntu® 24.04 (Noble Numbat) |
https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git/snapshot/rt-tests-1.5.tar.gz |
Cyclictest is most commonly used for benchmarking real-time (RT) systems. It is one of the most frequently used tools for evaluating the relative performance of an RT. Cyclictest accurately and repeatedly measures the difference between a thread’s intended wake-up time and the time at which it actually wakes up to provide statistics about the system’s latency. It can measure latency in real-time systems caused by the hardware, the firmware, and the operating system.
Verify: Install Cyclictest Workload¶
You can install this component from the ECI repository. Setup the ECI repository, then perform either of the following commands to install this component:
- Install from meta-package
$ sudo apt install eci-realtime-benchmarking
- Install from individual Deb package
$ sudo apt install rt-tests-scripts
- Install from meta-package
$ sudo dnf install eci-realtime-benchmarking
- Install from individual RPM package
$ sudo dnf install rt-tests-scripts
Verify: Execute Cyclictest Workload¶
An example script that runs the cyclictest benchmark and the README is available at /opt/benchmarking/rt-tests
. The script performs the following runtime optimizations before executing the benchmark:
Assigns benchmark thread affinity to last isolated core (typically core 3)
Assigns non-benchmark thread affinity to core 0
Changes the priority of benchmark thread to 95 (using:
chrt -f 95
)Disables kernel machine check interrupt
Increases thread runtime utilization to infinity
To start the benchmark, run the following command:
$ sudo /opt/benchmarking/rt-tests/start-cyclic.py
Default parameters are used unless otherwise specified. Run the script with --help
to list the modifiable arguments.
See also
Sanity Check 0 - Cyclictest Workload provides an example on how to run this benchmark and display the results.
Verify: Interpret Cyclictest Results¶
Short |
Explanation |
---|---|
T |
Thread: Thread index and thread ID |
P |
Priority: RT thread priority |
I |
Interval: Intended wake up period for the latency measuring threads |
C |
Count: Number of times the latency was measured that is, iteration count |
Min |
Minimum: Minimum latency that was measured |
Act |
Actual: Latency measured during the latest completed iteration |
Avg |
Average: Average latency that was measured |
Max |
Maximum: Maximum latency that was measured |
On a non-realtime system, the result might be similar to the following:
T: 0 ( 3431) P:99 I:1000 C: 100000 Min: 5 Act: 10 Avg: 14 Max: 39242
T: 1 ( 3432) P:98 I:1500 C: 66934 Min: 4 Act: 10 Avg: 17 Max: 39661
The right-most column contains the most important result, that is, the worst-case latency of 39.242 ms / 39242 us (Max value).
On a realtime-enabled system, the result might be similar to the following:
T: 0 ( 3407) P:99 I:1000 C: 100000 Min: 7 Act: 10 Avg: 10 Max: 18
T: 1 ( 3408) P:98 I:1500 C: 67043 Min: 7 Act: 8 Avg: 10 Max: 22
This result indicates an apparent short-term worst-case latency of 18 us. According to this, it is important to pay attention to the Max values as these are indicators of outliers. Even if the system has decent Avg (average) values, a single outlier as indicated by Max is enough to break or disturb a real-time system.
Other Benchmarks¶
ECI provides many more benchmarks covering a wide range of performance metrics. See Benchmarks & Performance Characterization for a comprehensive guide on all the benchmarks ECI has to offer.
In addition, ECI provides curated Benchmark Data from a subset of benchmarks executed on validated hardware platforms. Use this data to compare the performance of your system to known good systems and assist in determining the best configuration for your application.
Install ECI Packages from Repository¶
At this point, you should be able to install most ECI packages using the package manager (APT/DNF) on this target system. Deb packages are available for Debian and Canonical® Ubuntu®, while RPM packages are available for Red Hat® Enterprise Linux®. Click each tab below to learn more.
For a complete list of available ECI packages, refer to ECI Packages Lists.
The following figure illustrates some of the meta-packages (high-level Deb packages) available for Debian and Canonical® Ubuntu®:

Here are some meta-packages that you could start with:
Meta-package |
Description |
---|---|
|
Includes real-time optimization domain packages, such as benchmarks and Intel® Time Coordinated Computing. |
|
Includes connectivity domain packages for Time Sensitive Networking and industrial fieldbuses, such as Intel® Edge Control Protocol Bridge, IEC-62541 OPC UA framework, and IEC-60802 TSN. |
|
Includes software PLC domain packages, such as CODESYS* IEC61131-3, IEC-61158 EtherCAT Master, IEC-61131-3 (part 1 & 2) Motion Control, and IEC-50325-4 CANopen. |
For example, to install the eci-realtime
meta-package, perform the following command:
$ sudo apt install eci-realtime
Attention
ECI will increase support for Red Hat® Enterprise Linux® in future releases. The initial Red Hat® Enterprise Linux® support includes benchmarking tools Caterpillar, Real-Time Compute Performance - DPDK, CODESYS Benchmark, CODESYS OPC UA Client Benchmark, and PQoS Helper.
The following figure illustrates some of the meta-packages (high-level RPM packages) available for Red Hat® Enterprise Linux®:

Here are some meta-packages that you could start with:
Meta-package |
Description |
---|---|
|
Includes real-time optimization domain packages, such as benchmarks. |
For example, to install the eci-realtime-benchmarking
meta-package, perform the following command:
$ sudo dnf install eci-realtime-benchmarking
Where to go Next?¶
(Recommended) Run a benchmark, such as Caterpillar, which helps to evaluate the benefits of cache allocation on a real-time OS.
For more information on the various components ECI has to offer, refer to Components and Features of ECI.
For more information on developing real-time applications using ECI, refer to Developer Resources.
Visit the Edge Controls for Industrial online support forum for questions and answers.
For PRC customers, localized training materials about real-time computing are prepared for you at: https://www.51openlab.com/platform/curriculum/list/ Please select ‘实时计算’ tag to filter all the ECI lectures and experiments.