Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 1 Sep 2000 14:12:48 -0500
From:      "Jim King" <jim@jimking.net>
To:        "Warner Losh" <imp@village.org>
Cc:        "Gary Kline" <kline@thought.org>, <freebsd-stable@FreeBSD.ORG>
Subject:   Re: bad 16550A maybe? 
Message-ID:  <004d01c01448$9dfabcf0$a44b8486@jking>
References:  <002d01c01444$350c8b00$a44b8486@jking>  <200009010501.WAA54972@tao.thought.org> <200009011832.MAA37168@harmony.village.org>  <200009011853.MAA37372@harmony.village.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Warner Losh wrote:
> In message <002d01c01444$350c8b00$a44b8486@jking> "Jim King" writes:
> : I think we'd see a lot fewer of these messages on the mailing lists if
sio.c
> : set the 16550A trigger level to 8 bytes instead of 14 bytes.  That's the
> : first thing I do when I see this problem, and that usually fixes it;
much
> : easier than replacing the misbehaving hardware. :-)
>
> For fast machines, this is a lose since it double the interrupt rate,
> but does give a *MUCH* better interrupt latency tolerance.  I had to
> do this when i had a 16550A attached to a custom card via PCI.  I
> couldn't make it have fast interrupts, so I did the next best thing by
> increasing the number of interrupts and checking more often (the card
> itself had about half a dozen interrupts going all the time, so long
> as I could afford a 16ms latency I was fine).

But it's a pretty small lose in the grand scheme of things, and it would
prevent a lot of problems in the field (judging from the amount of times
this comes up on -stable and -questions).

FreeBSD and 16-bit Windows are the only systems I've used that defaulted to
setting the trigger to 14.  (They also share the unfortunate characteristic
that you have to re-compile something to change the default; Windows was
more unfortunate in that you had to own the Windows DDK to do this.)  All
the DOS-based communications software I used when the 16550A first hit the
scene used 8 (usually easily changed in a configuration file), and all the
32-bit versions of Windows default to 8 (easily changed in a fancy GUI
configuration dialog).

If we're going to hard-code this we should hard-code a middle-of-the-road
setting, not something that's wonderful on some boxes but awful on others.

Jim




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?004d01c01448$9dfabcf0$a44b8486>