Thread (5 messages) flat view 5 messages, 3 authors, 2012-03-01

Re: Restricting payload size in do_tcp_sendpages.

From: Ashwin Rao <hidden>
Date: 2012-03-01 22:00:28

On Thu, Mar 1, 2012 at 10:02 PM, David Miller [off-list ref] wrote:
From: Ashwin Rao <redacted>
Date: Thu, 1 Mar 2012 16:16:40 +0100
quoted
I would like to perform some experiments where I want TCP to send
packets of size less than the MSS even more than an MSS worth of data
is available in the TCP buffers.
I think if you are trying to make experimental changes to TCP you
should be at least skilled enough to implement your ideas fully on
your own rather than having to ask for a crash course on how the stack
works.
I am not asking for a crash course on how the stack works. I am trying
to figure out what is wrong with my understanding of the code. I admit
I am not as smart as you guys but then the reason for doing
experiments is because I observed a problem based on the measurement
study that I performed on clusters and home networks. I then worked on
developing a small model to capture the behavior I observed. The
problem I observed has its roots in the synchronization of TCP flows.
This can be addressed by using queuing disciplines like RED but then
it is still a problem in networks that will use off the shelf devices
that use drop-tail queues. The numerical resolutions from the model
predict the behavior that I observed. I am now looking a possible
solutions that can address this issue and I am performing experiments
to see whether my proposed solutions are practically useful or not.
This is because the model cannot capture everything.  What I want to
do is to ensure that the packets arriving in the network do not have
the same size or at least the last packet in a window of packets has a
size smaller than the MSS. This according to the model is enough to
break the synchronization that I observed in the clusters and home
networks. To test this I forcefully set the segment size (and size
goal which controls the size in case of offloading) in the function
do_tcp_sendpages. According to my understanding this is the last point
before which the tcp packet is created before being sent to the lower
layer.
Frankly, if you aren't skilled enough to figure these things out on
your own I really don't think you should be even suggesting changes
to a complicated protocol that effects the entire world.
I may not be skilled enough like you guys but then I am not afraid to
admit I do not know the entire picture. But if there is a problem that
I see and a solution in which I believe in then I will not feel shy of
validating my solution.

Ashwin
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help