On Thu, 2003-09-25 at 20:23, Brandon Low wrote:
> On Fri, 09/26/03 at 00:52:18 +0100, Toad wrote:
> > On Thu, Sep 25, 2003 at 06:24:14PM -0500, Brandon Low wrote:
> > > Ok, I think I've nailed down all of the remaining locking issues which
> > > were plaguing my node.  Last time I dumped threads there was only 1 out
> > > of over 200 that was waiting for a monitor.  This is a pretty extreme
> > > patch, as it moves KillSurplusConnections to a daemon thread, and
> > > completely redoes the locking in QThreadFactory, but on my node it
> > > works, and has brought new levels of peak BW performance, and a very
> > > smoothe running node.
> > 
> > I'm really not sure that moving killsurplusconnections to another thread
> > is helpful. If you have several threads doing killsurplusconns, just let
> > one succeed and then the rest see quickly that they have sufficient
> > connections.
> You may be right that it won't help, but I don't see how reducing the
> contention for a highly contested lock can be considered a bad thing...

I claim it is helpful.  The QThreadFactory locking reduces contention
for locks.  It has a bug or two, which I have fixed.

Problem with killsurplusconnections was that while one thread is
killing a connection, the others wait.  And none of them gets out
of OCM.put() until lru.size() <= maxconnections.

-- Ed Huff

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
Devl mailing list
[EMAIL PROTECTED]
http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to