[email protected] (Greg Troxel) writes: >Looking at your file, it appears there is sudden massive packet loss, >and there is fast retransmit, but the loss is beyond what fast >retransmit can repair.
My current assumption is that packets get lost due to kernel locking. >There is a TCP feature called "pacing" that attempts to spread out >transmissions, but I am really unclear on whether it exists in deployed >code. My guess is no, not really. We cannot do any kind of fine-grained pacing unless there would be hardware support as we lack hires timers. Most of our code writes packets to the interface send queue and the transmitter gets (re-)armed by an interrupt. At high packet rates that causes packet bursts, more if the hardware uses a large number of send descriptors and more with deferred interrupts. At some point, pacing needs to be supported by the hardware.
