One of the things I've noticed on a practical level, is that forked children in worker wind up being "linearized" within themselves to some extent. Think of how the buffered logs work in mod_log_config (one buffer protected by a mutex). (I can't think of the correct term for it right now. Basically every thread is waiting on the same mutex eventually.) This is seen in other modules...
The fork gets around this somewhat, as there are multiple mutexes independently locked/unlocked. If we have one multi-threaded process, this will force us to think about the performance ramifications of these uses of single mutexes. For mod_log_config, for example, a queue with a single writer thread may be the answer. -- Brian Akins Chief Operations Engineer Turner Digital Media Technologies
