[Xenomai] ipipe + preempt_rt : spinlock issue

Cédric Perles cperles at sepro-group.com
Tue Oct 31 12:03:50 CET 2017


Hi,



I’m working on an iMX6 based board with NXP kernel 4.1.15.

I made a Xenomai 3.0.5/ipipe bsp that works well and I also made a
preempt-rt bsp that works well too.



However, now I would like to make a Xenomai/ipipe + preempt_rt bsp.



I adapted preempt_rt patch to fit to ipipe patched kernel but during
compilation I’m facing issues concerning spinlocks:



drivers/gpio/gpio-generic.c:496:2: note: in expansion of macro
'spin_lock_init'

  spin_lock_init(&bgc->lock);

  ^

include/linux/spinlock_rt.h:17:24: error: '__ipipe_spinlock_t {aka struct
<anonymous>}' has no member named 'lock'

  rt_mutex_init(&(slock)->lock);   \





Searching some help on internet, I realized that only a few people tried
to use both Xenomai and Preempt-rt.

=> Is it an heresy ? if so, Why ?

I thought it was the best way to limit preemption for the tasks that
switched temporarily to secondary mode.



=> If it is not a stupid idea, did somebody already resolve this kind of
conflict ? and how ?



Regards,



Cédric.






More information about the Xenomai mailing list