Talk:CONFIG PREEMPT RT Patch
I have just tested the RT Patch with Vortex86SX chip. The square wave example is really great as it provided me with great intuition into the effectiveness of this patch. However, the results of using clock_nanosleep() are CATASTROPHIC on this chip! The maximum frequency achieved with this chip was 50Hz!!!! This means a minimum achievable sleep time of 10 ms! This is not real-time in any sense!
What I did exactly was the following:
- Downloaded the Linux 126.96.36.199 kernel from kernel.org
- Downloaded the RT Patch patch-2.6.18-rt7 and applied it
- Downloaded the patch-2.6.18-DMP.gz provided by the manufacturer of the Vortex86SX chip
- Configured the kernel using the configuration file provided by the manufacturer of the Vortex86SX chip
- Compiled (make bzImage)
- Prepared a minimal root filesystem using busybox and glibc
- Deployed the whole image on the board with the swave program
- Booted the image on the board (kernel+initramfs)
- Run the swave program and measured with the oscilloscope
The result of
- swave 90
- swave 90 10000
- swave 90 10000000
are all a square wave with 50 Hz frequency!
However, the result of
- swave 90 20000000
is a correct square wave with 25 Hz frequency
So, I suppose the maximum achievable frequency on this board with clock_nanosleep() is 50 Hz. BUT, does this make any snese???? Can anybody help me, please!
==> (Self-note) I found the problem, the timer frequency was set to 100Hz in the default configuration file on the website of DM&P, the manufacturer of the Vortex86SX chip! Just.... NO COMMENT!