Repository navigation
Conversation
0c68a97 to
7034385
Compare
|
I think it should be made adjustable, sometimes busy waiting can get better results. |
|
it did make a difference when I tested it back then. I can update the branch if you are interested. |
|
Rebasing the full branch just to test busywait is probably a bit overkill. I will first finalize my RT scripts / doc and then I can also just check busywait by replacing the wait function with the one from the branch. At least xenomai4 does that wake up early already and you can configure how much or autotune it. I have to see if you can set this also for PREEMT_RT or if you have to do it by hand. However, doing this will block other lower prio threads. Thanks for the shared cache hint, isolating or even deactivating all CPU's that share one cache could help but will degrade the performance quite a bit, especially if no cores are left afterwards... ;-) |
ppoll has issues with barely realtime capable systems, most probably if the CPU is not kept busy constantly, it clocks down or goes to a sleep state.


Fixes #4525
hm2 eth back to polling: This increases the CPU load. It is beneficial for badly tuned systems. But it could be an issue if you have a 3. task with lower priority witch would be interrupted every 10us. Due to polling was active for a long time, it should be no issue.
Fallback in caseisolcpusis not set: After Xenomai4 Userspace + other fixes #3903, no CPU was assigned to the real-time threads and a warning is shown. This assumed all users set at least isolcpus as mentioned in https://linuxcnc.org/docs/html/install/latency-test.html#_tuning_preempt_rt_for_latency. However, it turned out, not assigning a CPU when isolcpus is not set results in worse latency. This restores the behavior from before, assigning the highest number CPU if isolcpus is not set.The second part was merged in #4735
ToDo: