> Am 22.06.2015 um 17:50 schrieb Jan Kiszka <[email protected]>:
> 
> On 2015-06-22 17:34, Michael Haberler wrote:
>> I now get all tests to pass (as far as I can tell), see below
> 
> Nice!

I _think_ the rtdm_task API is now functional as well: 
https://github.com/mhaberler/rtdm-native

tested on 3.16 vanilla and 3.18.13-rt

> 
>> 
>> Has anybody ever gone beyond running rtdmtest with this, like building an 
>> actual driver? 
>> 
>> before I spend time on it - did the can and serial drivers actually work?
> 
> Did you search the archive / announcements in this regard? Also adding
> Wolfgang once again.

I'll see if I can make the gpio-rtdm-irq driver (xenomail2 so far) run on a BB 
with vanilla and rt-preempt

-Michael

> 
> Jan
> 
>> 
>> - Michael
>> 
>> ---
>> 
>> Fixed by changing  add_wait_queue_exclusive_locked() to 
>> __add_wait_queue_tail_excl()  and
>> remove_wait_queue_locked() to  __remove_wait_queue() as outlined here: 
>> http://permalink.gmane.org/gmane.linux.file-systems/40051
>> 
>> the error message I reported earlier on is simply an result of the rtdmtest 
>> driver calling rtdm_task_destroy(&task)  and rtdm_task_join_nrt(&task, 100) 
>> on module exit without having actually created an rtdm task, so  pretty sure 
>> this already existed
>> 
>> [  154.523718] rtdm_task_destroy: not allowed on user threads
>> [  154.529468] rtdm_task_join_nrt: not allowed on user threads
>> 
>> status: 
>> https://github.com/mhaberler/rtdm-native/commit/2de7f03fa2682af63f2d6e1ea321761f7277d64f
>> 
>> execution logs:
>> 
>> root@j1900:/home/mah/rtdm-native/examples/rtdm-native# ./rtdmtest
>> Events 0/0 Sems 0/0 Mutex 0
>> Events 483/483 Sems 0/0 Mutex 0
>> Events 966/966 Sems 0/0 Mutex 0
>> Events 1448/1448 Sems 0/0 Mutex 0
>> Events 1932/1932 Sems 0/0 Mutex 0
>> Events 2423/2423 Sems 0/0 Mutex 0
>> Events 2914/2914 Sems 0/0 Mutex 0
>> Events 3400/3400 Sems 0/0 Mutex 0
>> Events 3884/3884 Sems 0/0 Mutex 0
>> Events 4367/4367 Sems 0/0 Mutex 0
>> Events 4854/4854 Sems 0/0 Mutex 0
>> Events 5345/5345 Sems 0/0 Mutex 0
>> Events 5832/5832 Sems 0/0 Mutex 0
>> Events 6321/6321 Sems 0/0 Mutex 0
>> Events 6812/6812 Sems 0/0 Mutex 0
>> Events 7303/7303 Sems 0/0 Mutex 0
>> Events 7793/7793 Sems 0/0 Mutex 0
>> Events 8284/8284 Sems 0/0 Mutex 0
>> Events 8775/8775 Sems 0/0 Mutex 0
>> Events 9266/9266 Sems 0/0 Mutex 0
>> ^Csighand: signal=2
>> Exiting event_signal_thread
>> Exiting event_wait_thread
>> Events 9347/9347[94398.084126] rtdmtest_close state=0x0
>> Sems 0/0 Mutex 0
>> Canceling threads
>> Join wait thread
>> Join signal thread
>> Exit...
>> 
>> 
>> root@j1900:/home/mah/rtdm-native/examples/rtdm-native# ./rtdmtest -m -c 10
>> Events 0/0 Sems 0/0 Mutex 0
>> Events 0/0 Sems 0/0 Mutex 492
>> Events 0/0 Sems 0/0 Mutex 985
>> Events 0/0 Sems 0/0 Mutex 1477
>> Events 0/0 Sems 0/0 Mutex 1970
>> Events 0/0 Sems 0/0 Mutex 2462
>> Events 0/0 Sems 0/0 Mutex 2955
>> Events 0/0 Sems 0/0 Mutex 3447
>> Events 0/0 Sems 0/0 Mutex 3940
>> Events 0/0 Sems 0/0 Mutex 4433
>> Events 0/0 Sems 0/0 Mutex 4925
>> Events 0/0 Sems 0/0 Mutex 5418
>> Events 0/0 Sems 0/0 Mutex 5910
>> Events 0/0 Sems 0/0 Mutex 6403
>> Events 0/0 Sems 0/0 Mutex 6896
>> ^Csighand: signal=2
>> ioctl MUTEX_TEST: Identifier removed
>> [94428.098513] RTTST_RTIOC_RTDMTEST_MUTEX_GETSTAT
>> Events 0/0 Sems [94428.103216] rtdmtest_close state=0x0
>> 0/0 Mutex 7083
>> Mutex lock count: 7083 (7083)
>> Canceling threads
>> Join wait thread
>> Join signal thread
>> Exit...
>> 
>> 
>> root@j1900:/home/mah/rtdm-native/examples/rtdm-native# dmesg 
>> [94398.084126] rtdmtest_close state=0x0
>> [94428.098513] RTTST_RTIOC_RTDMTEST_MUTEX_GETSTAT
>> [94428.103216] rtdmtest_close state=0x0
>> root@j1900:/home/mah/rtdm-native/examples/rtdm-native# ./rtdmtest -e -c 10
>> ioctl EVENT_WAIT: Identifier removed
>> Exiting event_wait_thread
>> Exiting event_signal_thread
>> [94466.305761] rtdmtest_close state=0x4
>> Events 10/10 Sems 0/0 Mutex 0
>> Canceling threads
>> Join wait thread
>> Join signal thread
>> Exit...
>> 
>> 
>> root@j1900:/home/mah/rtdm-native/examples/rtdm-native# ./rtdmtest -s -c 10
>> ioctl SEM_DOWN: [94547.555904] rtdm_nrtsig_handler called
>> Identifier removed
>> [94548.546266] rtdmtest_close state=0x0
>> Events 0/0 Sems 10/10 Mutex 0
>> Canceling threads
>> Join wait thread
>> Join signal thread
>> Exit...
>> 
>> 
>> dmesg after above runs:
>> 
>> root@j1900:~# dmesg 
>> [   89.364268] starting RTDM services.
>> [   93.597113] __rtdmtest_init: registering device rttest0, err=250
>> [  177.201902] rtdmtest_close state=0x0
>> [  190.092607] RTTST_RTIOC_RTDMTEST_MUTEX_GETSTAT
>> [  190.097406] rtdmtest_close state=0x0
>> [  199.686598] rtdmtest_close state=0x4
>> [  207.570485] rtdm_nrtsig_handler called
>> [  208.561437] rtdmtest_close state=0x0
>> 
> 
> -- 
> Siemens AG, Corporate Technology, CT RTC ITP SES-DE
> Corporate Competence Center Embedded Linux


_______________________________________________
Xenomai mailing list
[email protected]
http://xenomai.org/mailman/listinfo/xenomai

Reply via email to