That makes sense to me. If I recall, the packet handlers will create more threads if they expect delays, such as when waiting for a client to finish movement into the sim.
Considering that I have 65 threads running on my standalone instance, with 4 cores that leaves about 15 threads competing. You have to do the work at some point. Matt On Friday, April 25, 2014, Dahlia Trimble <[email protected]> wrote: > Depends on what you mean by "services the packets". Decoding and ACKing > could probably work well in a socket read loop but dispatching the packet > to the proper part of the simulation could incur many delays which can > cause a lot of packet loss in the lower level operating system routines as > the buffers are only so large and any excessive data is discarded. Putting > them in a queue for another thread to service is a good compromise which > tends to keep things working under most load conditions. > > However, if your design seems to improve things under a wide range of > operating conditions, feel free to submit a patch! But please don't expect > it to be accepted as it may need a *lot* of testing to show it's benefit > over the current implementation. > > > > > On Fri, Apr 25, 2014 at 7:45 PM, Matt Lehmann > <[email protected]<javascript:_e(%7B%7D,'cvml','[email protected]');> > > wrote: > >> As of the last release, the algorithm for handling udp packets from >> clients is as so... >> >> Start an async read cycle on the socket, adding packets to a blocking >> queue. >> Also start a smart thread which waits on the queue and services the >> packets. >> >> Wouldn't it be more efficient to use a single thread that waits on the >> socket by looping on a socket.poll call, immediately servicing packets? >> >> I have tried this locally and I really think it would improve >> efficiency. If you want I can submit a patch. >> >> Thanks >> >> Matt >> >> _______________________________________________ >> Opensim-dev mailing list >> [email protected]<javascript:_e(%7B%7D,'cvml','[email protected]');> >> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev >> >> >
_______________________________________________ Opensim-dev mailing list [email protected] http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
