From owner-freebsd-hardware Sat Jun 29 07:38:01 1996 Return-Path: owner-hardware Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id HAA05700 for hardware-outgoing; Sat, 29 Jun 1996 07:38:01 -0700 (PDT) Received: from po2.glue.umd.edu (po2.glue.umd.edu [129.2.128.45]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id HAA05694 for ; Sat, 29 Jun 1996 07:37:58 -0700 (PDT) Received: from modem.eng.umd.edu (modem.eng.umd.edu [129.2.98.187]) by po2.glue.umd.edu (8.7.5/8.7.3) with ESMTP id KAA19876; Sat, 29 Jun 1996 10:37:57 -0400 (EDT) Received: (from chuckr@localhost) by modem.eng.umd.edu (8.7.5/8.7.3) id KAA05339; Sat, 29 Jun 1996 10:37:56 -0400 (EDT) Date: Sat, 29 Jun 1996 10:37:56 -0400 (EDT) From: Chuck Robey X-Sender: chuckr@modem.eng.umd.edu To: Bruce Evans cc: freebsd-hardware@FreeBSD.org Subject: Re: muliport boards - building a PPP dialup server In-Reply-To: <199606291232.WAA04438@godzilla.zeta.org.au> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-hardware@FreeBSD.org X-Loop: FreeBSD.org Precedence: bulk [CC: list trimmed, these guys are all on hackers anyways] On Sat, 29 Jun 1996, Bruce Evans wrote: > >As you know once you're in the interrupt routine it will > >check all ports, meaning that in the special case of input streaming > >in on multiple ports you will have a big reduction in interrupt load. > >I second looking up some of Bruce's postings. > > This is actually the weakest point in the sio driver. Polling 16 > ports wastes a lot of time when only a few of them are active, and > I think processing multiple ports per interrupt is relatively rare > even when many of them are active. The poll is only for interrupt- > pending, not for input-available so it only finds input when the > the fifo is full. Are you sure of that, Bruce? I spoke a long while back with a guy who'd written the digiboard driver for sysV machines, and he claimed that, except when only one port was active, that it was actually much more efficient to ignore which uart had actually issued the interrupt, and simply service them all on each interrupt. He said he'd done some testing to back that up, altho I don't have the specifics anymore (this was at least 5 years ago). ----------------------------+----------------------------------------------- Chuck Robey | Interests include any kind of voice or data chuckr@eng.umd.edu | communications topic, C programming, and Unix. 9120 Edmonston Ct #302 | Greenbelt, MD 20770 | I run Journey2 and n3lxx, both FreeBSD (301) 220-2114 | version 2.2 current -- and great FUN! ----------------------------+-----------------------------------------------