[Xenomai] ipipe + PREEMPT_RT

Philippe Gerum rpm at xenomai.org
Sat Mar 18 12:05:18 CET 2017

On 03/18/2017 07:09 AM, Mike Galbraith wrote:
> (oops, sent before subscription confirmation.. wash/rinse/repeat)
> Greetings,
> Seeing PREEMPT_RT in ipipe source, I got curious, extracted 4.4.43, and
> wedged it into 4.4.54-rt, but there are a couple places that replace a
>  spinlock_t (not raw) with an ipipe_spinlock_t, which cause build woes
> for PREEMPT_RT.  I ifdefed those problematic spots back to spinlock_t
> for grins, and surprisingly, my x64_64 desktop box booted, and does a
> decent impersonation of a functional box.. which left me wondering
> whether there's a preparatory patch for PREEMPT_RT somewhere, or
> whether the PREEMPT_RT bits are WIP (or leftovers).

As Jan pointed out already, those reverts may well cause havoc when some
code attempts to traverse such critical sections from a co-kernel
context (aka "head stage"), since the purpose of the original change is
precisely to allow this, i.e. we have to switch the spinlock construct
from virtual IRQ disabling to real disabling.

FWIW, since commit 18aaf9db, Xenomai 3 is assuming that only raw
spinlocks may be converted to hard pipeline locks, which is only
partially the case for the current pipeline architecture though; however
this is fully enforced by the next one I'm working on (i.e. dovetail).


More information about the Xenomai mailing list