[LAD] LV2 realtime safe memory pool extension

David Olofson 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
> defined.
> 
> Attached is early draft of the header. Doxygen generated from it
> documentation is available at:
> 
> 
http://svn.gna.org/viewcvs/*checkout*/lv2dynparam/website/doxygen/lv2__rtmempool_8h.html
> 
> 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 
scenes anyway.

Something like TLSF for a reference implementation, maybe?
	http://tlsf.baisoku.org/


//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 mailing list