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>