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
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Devl mailing list [EMAIL PROTECTED] http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/devl
