[lkml]   [2004]   [Oct]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: Serial driver hangs
    Am Donnerstag, 30. September 2004 23:25 schrieb Paul Fulghum:
    > On Thu, 2004-09-30 at 15:10, Alan Cox wrote:
    > > On Iau, 2004-09-30 at 21:30, Paul Fulghum wrote:
    > > > tty-> and tty->flip.tqueue.routine
    > > > are set to flush_to_ldisc()
    > >
    > > flush_to_ldisc was ok, then someone added the low latency
    > > flag. In the current 2.6.9rc3 patch flush_to_ldisc
    > > honours TTY_DONT_FLIP also
    > In the cases I described the low latency flag
    > does not come into play because flush_to_ldisc()
    > is called directly instead of
    > through tty_flip_buffer_push().
    > TTY_DONT_FLIP is only set in read_chan().
    > If read_chan() is not running, TTY_DONT_FLIP is not
    > set and does not prevent buffers from flipping
    > if the ISR calls flush_to_ldisc() directly
    > while ldisc->receive_buf() is running.
    > The answer seems to be: don't call
    > flush_to_ldisc directly like the current
    > serial driver does.

    Yes, I think you are right, if the system is to slow to fetch
    the data fast enough the buffer will be sometime full. And if
    it would be possible to use the second flip buffer then, this
    buffer would be full too sometime.
    It would just take a little longer till data got lost. But if
    I want that I could just make the buffers larger.


    I have just tested it, but unfortunately I've got a very bad
    result. :-( In my test case (2 port with 921600 baud) I get
    very much data loss.

    I think I will stay now by the solution of just trow away the
    characters from the FIFO if flip buffer is full and
    TTY_DONT_FLIP is set. I will test now the patch Paul has

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 14:06    [W:0.023 / U:39.076 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site