From owner-freebsd-hackers@FreeBSD.ORG Thu Apr 8 11:34:06 2004 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5878D16A4CF for ; Thu, 8 Apr 2004 11:34:06 -0700 (PDT) Received: from harmony.village.org (rover.bsdimp.com [204.144.255.66]) by mx1.FreeBSD.org (Postfix) with ESMTP id DD89843D1D for ; Thu, 8 Apr 2004 11:34:05 -0700 (PDT) (envelope-from imp@bsdimp.com) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.12.10/8.12.9) with ESMTP id i38IY4kj026125; Thu, 8 Apr 2004 12:34:04 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Thu, 08 Apr 2004 12:34:43 -0600 (MDT) Message-Id: <20040408.123443.101835222.imp@bsdimp.com> To: marcel@xcllnt.net From: "M. Warner Losh" In-Reply-To: <20040408024455.GC20138@dhcp01.pn.xcllnt.net> References: <20040407170422.GF567@funkthat.com> <20040408024455.GC20138@dhcp01.pn.xcllnt.net> X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: freebsd-hackers@freebsd.org cc: atkin901@yahoo.com Subject: Re: polling for sio? X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Apr 2004 18:34:06 -0000 In message: <20040408024455.GC20138@dhcp01.pn.xcllnt.net> Marcel Moolenaar writes: : On Wed, Apr 07, 2004 at 03:36:02PM -0700, othermark wrote: : > > , or fix : > > sio so that COM_MULTIPORT (for shared interrupts) doesn't poll all : > > sio devices, and instead it keeps track of which devices need to be : > > polled for each interrupt (and possible use the AST/4 register to : > > decide which ports to query).... : > > : > > uart already has most of this logic, but I haven't written an isa : > > attachment for it to make use of the interrupt routing logic.. : > : > 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 :-(. I've had an 8 port puc + sio stream data at 115200 w/o losing data or getting overflows in a test setup, but that was on -stable (4.5) with a dedicated interrupt for the puc board. Warner