On 2009-02-01, Dieter <[email protected]> wrote: > Black box sends data to BSD box using TCP. Data is generated in > real time, the rate cannot be changed. Black box has a very small > (way too small) send buffer. If the BSD box takes too long to > ack, the black box's send buffer fills up and data is lost, > and/or black box's buggy firmware screws up and data is lost. > So I have to do everything I can to ensure that incoming packets > do not get dropped, and that the acks get sent out as fast as > possible. Making the TCP recv buffer very large allows the > incoming packets to get stored and acked, even if the userland > process reading the data doesn't get to run often enough. Even > so, there is still the problem that other device drivers can and > do lock out the Ethernet driver for too long. Still working on > that problem. What we really need is true real time facilities.
until you can fix your userland process to read faster, you may be able to band-aid using "relay" in relayd.

