lkml.org 
[lkml]   [1998]   [Sep]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 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/

\
 
 \ /
  Last update: 2005-03-22 13:44    [W:0.104 / U:0.172 seconds]
©2003-2011 Jasper Spaans. Advertise on this site