[ag-automation] [ANNOUNCE] RTDM for Linux-rt

Wolfgang Grandegger wg at grandegger.com
Sun Apr 15 10:44:15 CEST 2007


Hello Casten,

Carsten Emde wrote:
> Wolfgang,
> 
>> Attached you can find a README on how to install and use RTDM-native and
>> the current implementation status.
> I couldn't stop my curiosity to see it working. So, I downloaded the 
> material from the repository and attacked linux-2.6.21-rc6-rt0 after 
> enabling everything available in the "Real-time subsystem". BTW: 
> Wouldn't it be less confusing to call this section differently? For 
> example "RTDM subsystem" or similar? Sorry, just a first thought - there 
> is so much real-time everywhere.

This is the name Xenomai used so far and I agree, that it's not a good 
choice. My favorite is "Xenomai real-time subsystem".

> I then tried to build a new kernel. With a single exception, everything 
> compiled without warning. The exception was switchtest that refused to 
> build:
> 
> drivers/xenomai/testing/switchtest.c:1:27: error: nucleus/synch.h: No 
> such file or directory
> drivers/xenomai/testing/switchtest.c:2:28: error: nucleus/thread.h: No 
> such file or directory
> drivers/xenomai/testing/switchtest.c:5:32: error: asm/xenomai/fptest.h: 
> No such file or directory

Oh, "switchtest" like "timerbench" use Xenomai nucleus services and can 
therefore currently not be used with RTDM-native. I'm going to add a 
proper dependencies entry to the Kconfig file now. Useful for testing is 
especially "irqbench" allowing IRQ latency test via serial line or 
parallel port. For further information see:

http://www.rts.uni-hannover.de/xenomai/lxr/source/doc/txt/irqbench.txt

> After disabling it, all sources could be compiled without any further 
> problem. Linking xeno_rtdmtest.ko and xeno_16550A.ko, however, failed:
> WARNING: "hrtimer_init_sleeper" 
> [drivers/xenomai/testing/xeno_rtdmtest.ko] undefined!
> WARNING: "hrtimer_init_sleeper" [drivers/xenomai/serial/xeno_16550A.ko] 
> undefined!

Unfortunately, the RTDM core services cannot be built as kernel module 
(xeno_rtdm.ko) without the attached kernel patch because some symbols 
are not exported. But for development and testing doing so is convenient 
and I actually forgot to correct the Kconfig file, sorry.

> I then disabled these two modules as well. The rest could be compiled 
> and linked smoothly. The kernel was able to boot and the modules 
> xeno_irqbench and xeno_can_virt could be loaded normally.
> 
> I then tried linux-2.6.20-rt8 - same situation as described above.

I have just updated the SVN repository with the necessary fixes. Thanks 
for testing and reporting.

> Will do some testing later. Anybody out there who would like to join the 
> RTDM-Native Testing Group?

RTDM-native allows for interesting test cases, also comparing RTnet and 
RT-Socket-CAN with the corresponding drivers of Linux-rt. Unfortunately, 
serious testing takes time and therefore I have only done some basic 
tests, especially with RT-Socket-CAN using the CAN message round-trip 
test "rtcan_rtt". After some tweaking of IRQ thread latencies, I got 
reasonable latencies figures comparable with the one from corresponding 
Xenomai measurements.

Wolfgang.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: linux-2.6.21-rc6-rtdm.patch
Type: text/x-patch
Size: 1321 bytes
Desc: not available
Url : https://lists.osadl.org/pipermail/ag-automation/attachments/20070415/e20c6c0f/attachment.bin 


More information about the ag-automation mailing list