Poor Latency and Fix for New AMD APU's
04 Aug 2014 10:03 - 04 Aug 2014 23:54 #49486
by Bari
Poor Latency and Fix for New AMD APU's was created by Bari
There a current problem with latency on newer AMD APU's that use the newer Northern Islands and newer graphics cores.
See this wiki for a table of cores, chipset and product names.
wiki.gentoo.org/wiki/Radeon
Kernel Mode Settings (KMS) needs to be turned off or you will experience large latency spikes.
The kernel command line parameter is: radeon.modeset=0
This disables the hardware graphics drivers and the llvmpipe driver is used instead. Typical max latency might be 200-300 uS with KMS on and ~20 uS with it off using an RTAI kernel. The latency behaviour is similar with preempt_rt and KMS. The problem does not appear if the older 2.6.32 RTAI kernel is used, since KMS for the newer chipsets weren't in that older kernel.
We are trying to find out what the problem is and fix the hardware drivers. If you experience different behaviour please let us know.
See this wiki for a table of cores, chipset and product names.
wiki.gentoo.org/wiki/Radeon
Kernel Mode Settings (KMS) needs to be turned off or you will experience large latency spikes.
The kernel command line parameter is: radeon.modeset=0
This disables the hardware graphics drivers and the llvmpipe driver is used instead. Typical max latency might be 200-300 uS with KMS on and ~20 uS with it off using an RTAI kernel. The latency behaviour is similar with preempt_rt and KMS. The problem does not appear if the older 2.6.32 RTAI kernel is used, since KMS for the newer chipsets weren't in that older kernel.
We are trying to find out what the problem is and fix the hardware drivers. If you experience different behaviour please let us know.
Last edit: 04 Aug 2014 23:54 by Bari. Reason: typo ipipe vs llvmpipe
Please Log in or Create an account to join the conversation.
13 Aug 2014 20:44 #49816
by Bari
Replied by Bari on topic Poor Latency and Fix for New AMD APU's
Another fix for poor latency is adding the isolcpus= kernel parameter with RTAI kernels. RTAI has a broken scheduler for the time being so this looks a little backwards, but the working setting:for a 4 core APU is: isolcpus=0,1,2
This should be used along with turning off kernel mode settings: radeon.modeset=0
I'll test the 2 core APU's soon and post an update if isolcpus=0 or if isolcpus=1 act the same or if one has more benefit than the other.
This should be used along with turning off kernel mode settings: radeon.modeset=0
I'll test the 2 core APU's soon and post an update if isolcpus=0 or if isolcpus=1 act the same or if one has more benefit than the other.
Please Log in or Create an account to join the conversation.
15 Aug 2014 06:42 #49880
by Bari
Replied by Bari on topic Poor Latency and Fix for New AMD APU's
We did some further testing with different isolcpus= settings and the results are on the wiki
wiki.linuxcnc.org/cgi-bin/wiki.pl?The_Is...RUB2#Latency_Testing
The advice is to isolate both CPUs in the pair for a 4 core APU. Isolcpus=2,3
We also confirmed that the latency-test and the rtai kern/latency test select cpu' cores differently.
You want it to use cpu 0 if there is only cpu 0; cpu 1 if there are cpu 0 and cpu 1; and cpu 2 if there are cpu 0,1,2 or more cores.
The recommended kernel parameters are: radeon.modeset=o isolcpus=2,3
wiki.linuxcnc.org/cgi-bin/wiki.pl?The_Is...RUB2#Latency_Testing
The advice is to isolate both CPUs in the pair for a 4 core APU. Isolcpus=2,3
We also confirmed that the latency-test and the rtai kern/latency test select cpu' cores differently.
You want it to use cpu 0 if there is only cpu 0; cpu 1 if there are cpu 0 and cpu 1; and cpu 2 if there are cpu 0,1,2 or more cores.
The recommended kernel parameters are: radeon.modeset=o isolcpus=2,3
Please Log in or Create an account to join the conversation.
11 Sep 2014 23:31 - 12 Sep 2014 21:48 #51093
by Bari
Replied by Bari on topic Poor Latency and Fix for New AMD APU's
There is a new scheduler in 3.14 RTAI. It no longer requires any isolcpus kernel parameter to be set.
See this thread for more info:
www.linuxcnc.org/index.php/english/forum...314-rtai-now-working
See this thread for more info:
www.linuxcnc.org/index.php/english/forum...314-rtai-now-working
Last edit: 12 Sep 2014 21:48 by Bari. Reason: original link was wrong
Please Log in or Create an account to join the conversation.
Time to create page: 0.064 seconds