From owner-freebsd-hardware Sun Jun 30 08:35:30 1996 Return-Path: owner-hardware Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id IAA21170 for hardware-outgoing; Sun, 30 Jun 1996 08:35:30 -0700 (PDT) Received: from lserver.infoworld.com (lserver.infoworld.com [192.216.48.4]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id IAA21165 for ; Sun, 30 Jun 1996 08:35:28 -0700 (PDT) Received: from ccgate.infoworld.com by lserver.infoworld.com with smtp (Smail3.1.29.1 #12) id m0uaQ0N-000wxzC; Sun, 30 Jun 96 10:09 PDT Received: from cc:Mail by ccgate.infoworld.com id AA836148791; p 29 Jun 96 22:10:46 PST Date: p 29 Jun 96 22:10:46 PST From: "Brett Glass" Message-Id: <9605308361.AA836148791@ccgate.infoworld.com> To: Bruce Evans , hdalog@zipnet.net, msmith@atrad.adelaide.edu.au Cc: Kevin_Swanson@BLaCKSMITH.com, chuckr@glue.umd.edu, freebsd-hardware@FreeBSD.org, jparnas@jparnas.cybercom.net Subject: Re: muliport boards - building a PPP dialup server Sender: owner-hardware@FreeBSD.org X-Loop: FreeBSD.org Precedence: bulk > 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. It's not rare when it MATTERS -- that is, when the FIFOs are filling up. The rest of the time, it merely overcomes a severe deficiency of the PC architecture: the interrupts are edge-triggered, which means that you can't tell whether multiple devices need service unless every one has its own interrupt. --Brett