On Fri, Nov 11, 2011 at 11:07 PM, Paul Querna <[email protected]> wrote:
> > 4) Have the single Event thread de-queue operations from all the worker > threads. > Since the operations include Add and Remove, are you saying we would have to have to wait for a context switch to the listener thread before apr_pollset_add() and apr_pollset_remove() or their replacements complete? The _add()s execute immediately on the worker threads now; I believe the _remove()s do too... How would you avoid adding latency to the Add operations? It probably doesn't matter so much for Remove because we are done with the connection. > This would remove the 4 or 5 separate timeout queues we have > developed, and their associated mutex, and basically move all of the > apr_pollset operations to the single main thread. > The 4 or 5 separate queues give us a simple and cheap way to know when the timeouts have expired. If we remove them, how do we maintain time order or otherwise do the job as cheaply as we are now? Greg
