Platform info : i.mx8mm, ddr4 1Gb. linux 4.19 ,xenomai 3.1. bootcmd add isolcpus=2,3.
We use fec directly to realtime communicate, we got good prefermance without GUI. But a GUI operating(like change QT tab) will cause a huge latency(200-300us).
We have done many tests, finally there are two simple examples which may tell the issue distinctly.
Two example have same calculating load, one data size is larger than l1, another is smaller than l1. It’s doing the calculation pre 1ms, printing avgerage time using and max time using pre 1sec. the one which has lager data size will caused huge latency by GUI operating, the small one will not be affected by GUI operating.
Zip file contained makefile and source code for the two example.
Video files record two example, you’ll see the max_in_1sec will increase to 200-300us, and 130us is the regular result.
reason may be insufficient memory, one can try to test it on i.MX8M Mini EVK with
2GB memory using latest Linux 5.10.35_2.0.0
I have tested offical image on imx8mmevk board , and got the similar prefermance. The one with cachemiss cause huge latency by GUI operation, another one does not be affected by GUI operation. The two examples don't need massive memory, neither of them need more than 1MB. So I think it is not about insufficient memory, but more tend to be the bus competition.
May be we have a misunderstanding here. Our application is based on realtime, but this issue is not about the schedule or timer. We are measuring a fix loading calculation time using. And the test is running on a core exclusively, but still be affected by GUI operation.