Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 09 Apr 2004 14:01:56 -0400
From:      "Louis A. Mamakos" <louie@TransSys.COM>
To:        ticso@cicely.de
Cc:        marcel@xcllnt.net
Subject:   Re: polling for sio? 
Message-ID:  <200404091801.i39I1uUQ039151@whizzo.transsys.com>
In-Reply-To: Your message of "Fri, 09 Apr 2004 13:30:22 %2B0200." <20040409113021.GK5279@cicely12.cicely.de> 
References:  <20040407170422.GF567@funkthat.com> <c51voo$jt$1@sea.gmane.org> <20040408024455.GC20138@dhcp01.pn.xcllnt.net> <20040408.123443.101835222.imp@bsdimp.com> <20040409113021.GK5279@cicely12.cicely.de> 

next in thread | previous in thread | raw e-mail | index | archive | help
> On Thu, Apr 08, 2004 at 12:34:43PM -0600, M. Warner Losh wrote:
> > In message: <20040408024455.GC20138@dhcp01.pn.xcllnt.net>
> >             Marcel Moolenaar <marcel@xcllnt.net> writes:
> > : On Wed, Apr 07, 2004 at 03:36:02PM -0700, othermark wrote:
> > : > I have a multi-port PCI card under puc and sio that has 4 19200
> > : > connections to it now, and when data is streaming across all of
> > : > them at once, I get several silo overflows.  Would it be better
> > : > to run this under puc + uart?
> > : 
> > : Not really. The problem is that puc(4) iterates over all ports in
> > : the same way whether you use uart(4) or sio(4). So, puc(4) is
> > : the problem more that sio(4) or uart(4). However, uart(4) has the
> > : beginnings of an interface that puc(4) could use to figure out
> > : which UART needs attention without actually calling the interrupt
> > : routine for each of them.
> > 
> > Yes, but at 19200 baud, his problems likely aren't related to the
> > iteration.  They are likely related to the fact that he said his
> > interrupt is shared and therefore not fast.  We have horrible
> > interrupt latency in current when you want to get to the FIFOs of
> > UARTs quickly :-(.
> 
> Those cards are just what they are - cheap.
> They have very small FIFOs and they don't use DMA.
> IRQ sharing makes them even worse than traditional ISA stuff.
> My advise for cost efficient and fast serials is getting USB ones.
> Even noname USB serials do much better then puc(4) based.
> E.g. the FT232BM (uftdi(4)) has 128 bytes send and 384 bytes receive
> buffer plus your USB controller does DMA.
> At best you would add a cheap OHCI card if your onboard USB is UHCI
> based as OHCI is less CPU intensive.

I used to use 9600 bps serial links on LSI-11/23 systems 20 years ago
to run SLIP over.  This was with dumb DL-11 serial adapters on way
slower CPUs and busses than we have today.  The difference was a
much lower interrupt latency.  You'd think that running serial links
10 times faster on CPUs that are a few hundred times faster wouldn't
be too hard.

louie



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