[LV2] [RTID] proposal for a 'real time ID' extension

Harry van Haaren harryhaaren at gmail.com
Wed Aug 24 16:28:49 PDT 2016


On Thu, Aug 25, 2016 at 12:12 AM, David Robillard <d at drobilla.net> wrote:
> > The extension is as simple as it can get: A single function which
requests the
> > next integer ID from the host whereby the function MUST be RT-safe,
> > non-blocking, lock-free and wait-free. New RTIDs may be requested in
any of the
> > many LV2 thread groups.
>
> I doubt the latter requirement is possible to achieve for anything but a
> trivial atomic integer increment.  Is that good enough for fancy use
> cases with many plugins operating in parallel on distinct event streams?

That doesn't really scale well - at least not if we're talking lots of
messages. Assuming the RTIDs are not monotonically increasing, a host can
"reserve" a bunch of IDs for a particular core, use them from the reserved
pool until they run out, and reserve again.

This implies that the RTID is *just* a tag, and *only* a tag. The result is
that recieving tags out of order, backwards, forwards, etc, is all valid
usage of RTIDs.

If we're all cool with that, then no problem :) -Harry

--

http://www.openavproductions.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lv2plug.in/pipermail/devel-lv2plug.in/attachments/20160825/c2e1864f/attachment.htm>


More information about the Devel mailing list