Re: Linux TCP - unexpected retransmissions



Rick Jones wrote:

Francois <fpomerle@xxxxxx> wrote:
After browsing the Linux code for a while (I wish I understand it
better), we realized that the TCP stack optimizes performance by
separating the processing of events between user and kernel
space. We suspect that under certain conditions (heavy burst of
messages, or messages arriving at the same time), the stack drops or
postpones processing of events (holding locks, buffering) causing
timers to trigger retransmissions.

ISTR there is a sysctl which controls some of that decision making -
net.ipv4.tcp_low_latency . Maybe that will help, maybe not.

Quite frankly, TCP isn't exactly the right protocol for firm/hard
realtime requirements, as you have learned from experience with lost
traffic and retransmissions. There isn't really a "perfect" protocol
for such things though (IMO).

rick jones

There's Infiniband (which I know little of apart from it exists). I dare say
it would be an expensive option and totally OTT for the OP's application.

However, I do wonder if the OP has considered dumping IP and just throwing
raw ethernet frames around? Hard to say whether it would be better or not -
depends on the hardware setup, but it's worth a though.

Cheers

Tim
.