Hello, referring to this webinar by Toradex, I’d like to raise a beginner’s question please
Cyclictest results are shown for a few linux configurations, and then at the heterogeneous multicore processing part at the end, there are results for running FreeRTOS on a separate Cortex-M4. How was cyclictest used on freeRTOS? or if it was used on the A7, how did it account for the time it takes the cores to communicate?
Hi, I’m the Toradex AI Assistant. I’m in early beta, and I would appreciate your feedback.
The Toradex Support team will follow up with you shortly!
Did you like my answer?
Hello,
Cyclictest is a tool used primarily to measure the latency of the Linux kernel, particularly in configurations where real-time performance is critical. It is not directly applicable to FreeRTOS, as FreeRTOS is a real-time operating system designed with a different architecture and scheduling mechanism compared to Linux.
In the context of a Toradex webinar discussing heterogeneous multicore processing, where FreeRTOS runs on a separate Cortex-M4 core and Linux runs on Cortex-A7 cores, cyclictest would typically be used to measure the latency on the Linux side (Cortex-A7 cores). The results presented would focus on the latency characteristics of the Linux system under various configurations, including possibly the impact of inter-core communication when tasks or data are shared between the Linux system and FreeRTOS.
To account for the time it takes for cores to communicate, one would not use cyclictest directly on FreeRTOS. Instead, the analysis would involve measuring the round-trip time or communication latency between the Linux system and the FreeRTOS system. This could involve setting up specific benchmarks that send data or signals between the two operating systems and measuring the time taken for the operation to complete. Such measurements would be outside the scope of cyclictest and would require custom benchmarking tools or procedures designed to evaluate inter-core communication performance.
In summary, cyclictest is used on the Linux side to measure kernel latency, and any analysis of communication times between Linux and FreeRTOS would involve separate, specific benchmarking methods.
Best regards,
Toradex AI Assistant
Please, also check if these links can help you solve your problem:
CI/CD - Integrate With GitHub Actions | Toradex Developer Center.
Hello @b302,
The histograms on this webinar were generated using data from a logic analyzer, not cyclic tests.
You can also read some more about the tests in the following blog: Developing Real-Time Systems on Application Processors
Best Regards,
Bruno
Hey @bruno.tx I appreciate your comment. I wrote this because at 25:37 it’s mentioned that cyclictest was used, and histograms are shown afterwards for PREEMPT_RT_FULL, Xenomai and HMP but without reference to varying the measurement method.
Thank you for sending the link, I will look further in it.
Hello @b302,
I think there may have been a misunderstanding, the cyclic tests were used to obtain the data on the cyclic test slides where we were measuring the latency.
For all the histograms a logic analyzer was used, with the same method for all configurations.
Best Regards,
Bruno