On Sat, Nov 17, 2001 at 11:26:15AM -0800, Aaron Bannert wrote:
> On Sat, Nov 17, 2001 at 11:09:54AM -0800, Brian Pane wrote:
> > My hypothesis is that the inactive processes are never able to lock
> > the accept mutex.  If you truss one of the processes that never does
> > anything, what do you see?
> 
> That's a good point, since the accept listener loop is tight, it may
> be starving off the other processes. Solaris is safe from kernel bugs
> associated with the thundering herd, right? Since there are fewer
> processes sitting on that accept mutex, I suggest you experiment with
> simply turning off the mutex entirely (whatever happened to having an
> AcceptMutex none option?). Having 6 processes race out of poll/select and
> into accept may be lighterweight than having the same number contending
> for a crossprocess mutex, especially for a server already getting pummeled
> by incomming requests.

No.  There's a starvation case when you have multiple listeners.
Marc's posted the details on this before.  We must have an accept
lock when we have multiple listeners.  

If we only have one listener, then we can do the thundering herd.
But, not for multiple listeners.  -- justin

Reply via email to