Aaron Bannert wrote:

>On Thu, Nov 29, 2001 at 09:20:48AM -0800, Brian Pane wrote:
>
>>From a performance perspective, the two limitations that I see in
>>the current worker implementation are:
>> * We're basically guaranteed to have to do an extra context switch on
>>   each connection, in order to pass the connection from the listener
>>   thread to a worker thread.
>> * The passing of a pool from listener to worker makes it very tricky
>>   to optimize away all the mutexes within the pools.
>>
>
>IIRC, the problem isn't so much the fact that pools may be passed around,
>since in that respect they are already threadsafe without mutexes
>(at least in the current CVS and in the recent "time-space tradeoff"
>patch. I believe the actual problem as you have described it to me is
>how destroying a pool requires that the parent be locked. Perhaps you
>can better characterize the problem.
>

Right--the fact that the transaction pools are children of a pool
owned by the listener thread means that we have to do locking when
we destroy a transaction pool (to avoid race conditions when unregistering
it from its parent).

--Brian



Reply via email to