[LAD] LV2 realtime safe memory pool extension
david at olofson.net
Tue Nov 6 16:29:40 UTC 2007
On Monday 05 November 2007, Nedko Arnaudov wrote:
> Purpose of this LV2 extension is to standardize realtime safe
> allocations in a plugin. Plan is, host to provide functions that
> plugin can call. Pointers to functions are provided through host
> feature. Only memory pool (fixed chunk size) functionality is
> Attached is early draft of the header. Doxygen generated from it
> documentation is available at:
> Any comments are welcome. In particular about whether general
> purpose allocator (arbitrary memory chunk size) should be part of
> this same extension.
I'm not quite sure I see the point of having hosts provide this level
of functionality. A pool of fixed size chunks is trivial to implement
on the plugin side.
The only obvious advantage I see is the potential transparent host
side sharing of memory across plugins - but this gets tricky to
implement when plugins request different chunk sizes. Sure, the host
can split and merge chunks and stuff as needed, but then you may as
well go all the way, as you'll need a real memory manager behind the
Something like TLSF for a reference implementation, maybe?
//David Olofson - Programmer, Composer, Open Source Advocate
.------- http://olofson.net - Games, SDL examples -------.
| http://zeespace.net - 2.5D rendering engine |
| http://audiality.org - Music/audio engine |
| http://eel.olofson.net - Real time scripting |
'-- http://www.reologica.se - Rheology instrumentation --'
More information about the Linux-audio-dev