lkml.org 
[lkml]   [2006]   [Aug]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: How to avoid serial port buffer overruns?
    Raphael Hertzog wrote:
    > I tried 2.6.17.7.
    >
    > But I'm really not sure that the 2.6 is a regression from 2.4, in fact I
    > think it does better by default.
    >
    > The stock 2.4.31 kernel I was using had serial overruns at 9600 bauds
    > already. Once patched with the low latency/preemptive kernel patchs, it
    > was way better and I had only overruns at 115200 bauds.
    >
    > With the 2.6.17.7 kernel (configured with CONFIG_PREEMPT and
    > CONFIG_HZ=1000), I'm seeing overruns starting at 38400 bauds. So
    > compared to plain 2.4, it's better. However compared to the patched
    > 2.4, it's worse.

    This tells me your issue is not a problem with the
    serial or tty code, but rather a matter of IRQ latency.
    (Which you may have already known, but I was unclear on)
    I do not expect 2.6.18-rc4 to make a difference.

    For fun, have you tried playing with the rx FIFO trigger
    level in the 16550A entry in drivers/serial/8250.c ?
    You could try replacing UART_FCR_R_TRIG_10 (8 char trigger)
    with UART_FCR_R_TRIG_01 (4 char trigger) or even
    UART_FCR_R_TRIG_00 (1 char trigger).
    That creates more interrupts, but allows
    more time to activate the ISR before overrun.

    Lee's issue may still merit investigation into the
    serial/tty code.

    --
    Paul Fulghum
    Microgate Systems, Ltd.
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-08-17 18:43    [W:0.021 / U:31.212 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site