umem_cache semantics

[Not sure which forum this question really belongs in...]

I'm trying to find out the semantics of umem_cache_alloc/umem_cache_free. In general I expect that buffers allocated from a umem_cache and then returned to the cache with umem_cache_free *remain* in the cache and will possibly be returned from subsequent calls to umem_cache_alloc; but under what (if any) circumstances will a buffer which is 'in the cache' as a result of an _alloc/_free pair of calls be released from my cache back to the system?

Some explanation: for use in a lock-free queue implementation I need a object 'pool' where freed objects remain available in the pool (as they may still be accessed by other threads after one thread has freed them) and I was hoping to build this facility using a umem_cache...

[807 byte] By [stupplem] at [2007-11-26 9:21:35]
# 1
This question is not related to Sun C++ or Sun Studio. I suggest one of the Solaris forums at http://forum.sun.com/jive/index.jspa?tab=solarisor the Open Solaris community forum at http://www.opensolaris.org
clamage45 at 2007-7-6 23:53:56 > top of Java-index,Development Tools,Solaris and Linux Development Tools...