Messages in this thread |  | | | Date | Fri, 25 Sep 1998 11:15:00 +0100 | | From | Jamie Lokier <> | | Subject | Re: patch: serial 16550C autoflow |
| |
On Wed, Sep 23, 1998 at 06:42:58PM -0400, Theodore Y. Ts'o wrote: > I've found that hardware receive autoflow based on the FIFO flowing > generally isn't a great idea. First of all, if the system can't handle > the serial interrupt within 8 character times, there's something pretty > seriously wrong, and automatic flow control merely hides the problem. > If you are in this bad situation, yanking the flow control signals up > and down rapidly as the FIFO fills and empties is also not good for > performance, because there is often a delay before a device starts > sending after it stops sending due to a flow control signal.
Possibly. But at the data rates mentioned (400kbaud), 8 character times is 20us, which is pushing it for Linux on a PC at the moment. And if there's another interrupt being serviced, goodbye data.
I wonder why they don't just put a bigger FIFO on the serial chip.
Still agree with the rest of your post.
-- Jamie
> > Also, many devices aren't can't stop instantly, either. That's why > Linux as a 1024 byte internal buffer, and will start signalling the flow > control signal when there 128 bytes left. I want to give plenty of time > for the flow control signal to happen. > > As you yourself point out in the source code, this can cause some data > transfer lockups. > > + * *** Currently only implemented for the 16550C. The 16650= > > + * can do autoflow too, but it uses different registers. > > Not true. The National Semiconductor 16550 can not do automatic flow > control. > > In any case, I'll look at supporting the 16550C, but only if someone can > identify the manufacturer and I can get a hold of some formal datasheets > describing it. I've done some web searching, and nothing's shown up as > far as an manufacturer is concerned. > > - Ted > > Please read the FAQ at http://www.tux.org/lkml/ > > ------------------------------
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
|  |