Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 Mar 1995 06:20:47 -0500 (EST)
From:      Peter Dufault <dufault@hda.com>
To:        bde@zeta.org.au (Bruce Evans)
Cc:        freebsd-hackers@freefall.cdrom.com
Subject:   Re: Multiport serial cards
Message-ID:  <199503171120.GAA07796@hda.com>
In-Reply-To: <199503170852.SAA12539@godzilla.zeta.org.au> from "Bruce Evans" at Mar 17, 95 06:52:32 pm

next in thread | previous in thread | raw e-mail | index | archive | help
Bruce Evans writes:
> 
> >I'm interested in a board that will let me receive continuous data at
> >28.8 on four ports without any problems.  At roughly 300 us per
> >character that will mean we have to service each port every 4.8 ms with
> >a 16550, or roughly 1.2 ms per port.  (Of course lots of times when
> >you're in the interrupt you'll be able to to serve more than one port)
> 
> This is a small load for sio.  The overhead using an AST/4 on a DX2/66
> should be about 6% for input-only and 4% for output-only plus whatever
> you protocol handler adds.
> 
> >I think I should use a board with a large FIFO, which I don't think
> >any of these have.
> 
> A 1-char "FIFO" as found on 8250's should be adequate provided you have
> no bus-hogging devices.  sio can handle continuous data in both directions
> at once at 115.2 on 2 ports (but not 3) on a 486DX/33 with 8250's.  The
> system load for this is about 60% (too high for continuous use).  A
> 486DX2/66 with 16550's can probably handle about 6 times as many ports.
> 

There is no retry in that protocol in the "I own the link" case
when all 4 ports are sending at 28.8 continuous.  Any corrupted
packets must be dropped.  In most cases this doesn't matter, and
in others the three minute run will be canceled and started over.

I wouldn't try this application with 8250s. I realize 16550s can
handle this load but like the insurance of more latency - it removes
FreeBSD interrupt latency issue completely.

Would you be willing to hazard a guess as to the interrupt latency
for the SIO on a 486DX/33 for FreeBSD 2.x?  How are we for keeping
interrupts on in the kernel?

I have a two port 16550 board around and will look into performance
on that before going ahead to add Digiboard support.

Finally - is there an AST/8, or other 8 port 16550 board that works
with the "sio" driver?  There will be at least two other light duty
serial ports for this application.  An AST/4 plus COM1 and COM2
will do it, but I would just as soon identify another path.

Peter

-- 
Peter Dufault               Real Time Machine Control and Simulation
HD Associates, Inc.         Voice: 508 433 6936
dufault@hda.com             Fax:   508 433 5267



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199503171120.GAA07796>