mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Lennart Sorensen <lsorense@csclub.uwaterloo.ca>
To: Raphael Hertzog <hertzog@debian.org>
Cc: Linux Kernel ML <linux-kernel@vger.kernel.org>
Subject: Re: How to avoid serial port buffer overruns?
Date: Wed, 16 Aug 2006 10:31:47 -0400	[thread overview]
Message-ID: <20060816143147.GC13641@csclub.uwaterloo.ca> (raw)
In-Reply-To: <20060816104559.GF4325@ouaza.com>

On Wed, Aug 16, 2006 at 12:45:59PM +0200, Raphael Hertzog wrote:
> While using Linux on low-end (semi-embedded) hardware (386 SX 40Mhz, 8Mb
> RAM), I discovered that Linux on that machine would suffer from serial
> port buffer overruns quite easily if I use a baudrate high enough (I start
> loosing bytes at >19200 bauds and I would like to make it reliable up to 
> 115 kbauds). I check if overruns are happening with
> /proc/tty/driver/serial ("oe" field).
> 
> Back when I was using the 2.4 kernel, I reduced dramatically the frequency
> of overruns by using the "low latency" and "preemptible kernel" patch [1]. But
> it still happened sometimes at 115 kbauds if the system was a bit loaded
> (with disk I/O for example).

In my experience, the way to avoid overruns on a serial port was to use
a buffered serial port UART (such as a 16550A for example).  I remember
my 486 wasn't reliable about 19200 or 38400 (depending on how busy the
cpu was) when using an 8250.  Using a 16550A based card and I could do
115200 without any issues since the UART had a 16 byte buffer to help
out the system.  Unless your 386 has an add in card for the serial port,
it almost certainly has a very crappy UART and it would be very hard to
make it work reliably at higher speeds.

--
Len Sorensen

  reply	other threads:[~2006-08-16 14:31 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-16 10:45 Raphael Hertzog
2006-08-16 14:31 ` Lennart Sorensen [this message]
2006-08-16 14:57   ` Raphael Hertzog
2006-08-16 18:44 ` Lee Revell
2006-08-16 19:23   ` Paul Fulghum
2006-08-16 21:12     ` Lee Revell
2006-08-16 22:24       ` Paul Fulghum
2006-08-16 23:10         ` Russell King
2006-08-16 23:15           ` Lee Revell
2006-08-16 23:19             ` Russell King
2006-08-16 23:28               ` Lee Revell
2006-08-17  0:15                 ` R: " Giampaolo Tomassoni
2006-08-18  8:48                 ` Giampaolo Tomassoni
2006-08-18 17:00                   ` Lee Revell
2006-08-18 17:04                     ` Russell King
2006-08-18 17:30                       ` Lee Revell
2006-08-18 18:34                         ` Russell King
2006-08-18 18:52                           ` Lee Revell
2006-08-18 19:01                             ` Russell King
2006-08-18 19:07                               ` Russell King
2006-08-18 19:09                               ` Lee Revell
2006-08-17  9:20           ` Alan Cox
2006-08-17  9:28             ` Russell King
2006-08-17 11:57               ` Alan Cox
2006-08-17 13:29                 ` Paul Fulghum
2006-08-17 15:48                 ` Raphael Hertzog
2006-08-17 16:10         ` Raphael Hertzog
2006-08-17 16:40           ` Paul Fulghum
2006-08-18 19:31           ` Lee Revell
2006-08-23 12:45             ` Raphael Hertzog
     [not found] <fa.AByCsBI8k71hMVzCyQVimrLiDU4@ifi.uio.no>
2006-08-16 14:35 ` Robert Hancock
2006-08-16 14:42   ` Erik Mouw

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060816143147.GC13641@csclub.uwaterloo.ca \
    --to=lsorense@csclub.uwaterloo.ca \
    --cc=hertzog@debian.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®