PacketPool.cs code has been in usage, and still is in same packets, but of 
limited usefulness
in same cases it could even be GC induced pseudo memory leak.

It was replaced by a simpler pool of memory buffers (actually libomv 
UDPPacketBuffers, but not its objectpool) on most sent packets and receive 
buffers
also used as temporary work buffers on a few other places.
Most send packets have nothing to reuse but the buffer.

Try running opensim in Workstation (desktop on mono) mode.
Server mode heuristics don't seem to match opensim needs that well.

Ubit

On 13-Aug-19 16:04, Mike Dickson wrote:
I've been investigating UDP stalls for a while now and at least in some
cases I'm fairly convinced some cases occur due to GC pauses.  There is
some packet pooling code in the underlying LibOMV probably originally
derived from work done on Halcyon to address this case.   I don't see any
attempt in the UDP comms to make use of these buffer pools.

There is seperate code in PacketPool.cs to,  I think reuse packet buffers
based on a couple of buffer sizes and it looks like this should be on by
default but I can't find any evidence by looking at status of any packet
reuse occuring.  That is it looks like there is code there but it's either
switched off somewhere else or just doesn't work (or the stats are wrong :).

Should this PacketPooling be functional?  Alternatively has any attempt
been made to wire in the PacketBuffer support thats already in LibOMV?
  I'm going to dig through all this as I have time but I figured a little
information might help short circuit some paths and direct my search.

Thanks!

Mike
_______________________________________________
Opensim-dev mailing list
Opensim-dev@opensimulator.org
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev

_______________________________________________
Opensim-dev mailing list
Opensim-dev@opensimulator.org
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev

Reply via email to