>> > While this is restrictive, in the way you mention, I think it's a
>> > welcome simplification
>> > ( compared to implementing a real-time-capable-linked-list + other
>> > rt-structures ),
>> > if your use-case doesn't require direct calls to the list (for any
>> > reason),
>> > then you could request insert/remove/update operations through the
>> > rt-ring-buffer.
>>
>> you can't perform insert/remove/update operations on a "normal" linked
>> list in an RT thread.
>
> Sorry, what do you need instead? ( trying hard to absorb all this.. )

either

   (1) a lock free data structure
   (2) perform the modifications on a copy in a non-RT context and
then make the result
          available to the RT context (i.e. RCU)

Sounds like it will be worth learning about both. I gather the Ardour source is a good example of RCU correct? Can anyone point me at documentation or examples of a lock free data structure?

thanks
Iain