[OpenAFS-devel] RX: why retain soft acked packets at the sender?

chas williams - CONTRACTOR chas@cmf.nrl.navy.mil
Mon, 10 Mar 2008 10:03:50 -0400


In message <47D4F391.4030808@pclella.cern.ch>,Rainer Toebbicke writes:
>Given that long queues in conjunction with big window sizes are a drag 
>I plan to short-circuit this. Any comments?

sounds like a good idea, but i think i would go further actually.
rx's soft/hard ack strategy might have been a good idea at one point,
but with increasing network speed and dropping error rates the only
thing you get with soft acks is more thrashing of the cpu and its cache.
either the other side has the packet or it doesnt have the packet.

i believe that its possible to just simply eliminate sending and 
handling of soft acks and only doing work when the hard ack count
changes.

this eliminates one timer on the recv side (the soft ack timer) and a
second iteration of the queues to handle the soft ack cases on the rx and
tx side.  i had written part of this, but have since lost it somewhere
and it did have a bug which i hadnt tacked down.