How can the requirement be for both must-handle-in-minimum-time data
(low_latency) and the-userspace-reader-isn't-reading-fast-enough-
so-its-ok-to-halt-transmission ?
Because low latency is about *turn around* time. There are plenty of
protocols that can flow control, do flow control and want low latency
because they are not windowed. It's not mutually exclusive by any means.
But first I'd like some hard data on whether or not a low latency
mode is even necessary (at least for user-space).
The easy way to simulate the annoying as crap worst cases from dumbass
firmware downloaders and the like is to set up a link between two PCs and
time 2000+ repetitions of
send 64 bytes
wait for a Y
send 64 bytes
wait for a Y
....
and the matching far end being a box running an existing kernel or a PIC
or something doing the responses.
Historically we used to lose about 20mS per cycle which over 2000 got to
be a bit of a PITA.
Low latency goes back to the days of flip buffers, bottom halves an a
100Hz clock. There are certainly better ways to do it now if its needed.