[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] Netchannel2 optimizations [2/4]



This applies to the latest netchannel2 tree.

This patch uses the new packet message flag created in the previous patch to 
request an event only every N fragments. N needs to be less than the maximum 
number of fragments that we can send or we may get stuck. 
The default number of fragments in this patch is 192 while the maximum number 
of fragments that we can send is 256.

There is a small issue with this code. If we have a single UDP stream and the 
maximum TX socket buffer size limited by the kernel in the sender guest is not 
sufficient to consume N fragments (192 for now) the communication may stop 
until some other stream sends packets in either the TX or RX direction. This 
should not be an issue with TCP since we willalway have ACKs being erceived 
what will cause events to be generated. We will need to fix this sometime soon, 
but it is an unlikely scenario in practice that we may let the code get into 
the netchannel2 tree for now, especially because the code is still 
experimental. But Steven has the final word on that.

A possible fix to this issue is to set the event request flag when we send a 
packet and the sender socket buffer is full.  I just did not have the time to 
look into the linux socket buffer code to figure out how to do that, but it 
should not be difficult once we understand the code.

Renato

Attachment: reduce_number_finish_events.patch
Description: reduce_number_finish_events.patch

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.