[snip] > > that would be registered in the "parent" thread's pool -- and would only > > be invoked by the "parent" thread. > > > > pools let you do this, you don't need the mutexes for it, you just have to > > be explicit about parallelism. (combine that with a root pool per thread > > and then we can remove alloc_mutex and free lists and push the real gnarly > > problems into the libc malloc where it's probably best solved.) > > Yes, yes, yes. Can we please split the concept of a heirarchial parent (the > 'creator' thread's or process pool, in this case) from the allocation parent > (the actual give me memory for my pool from ... here!) Then we have an > "OS Knows Best" malloc/free mpm for threading, just as you suggest. > > This solves your thread-specific requirements and our scoping issues, along > with fixing the 'walk the chain of pools for a block' problem, both at once.
It's probably just me, but I'm having trouble parsing this (I think I'm getting a cold :( ). Are you saying you want the thread function to have access to both a "scope" pool as well as an "allocator" pool, in case they are different? -aaron