Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Sep 96 16:29:40 PST
From:      BRETT_GLASS@infoworld.com
To:        hardware@freebsd.org
Subject:   More or fewer IRQs?
Message-ID:  <9608188430.AA843083789@ccgate.infoworld.com>

next in thread | raw e-mail | index | archive | help
I'm setting up a FreeBSD system with a buncha serial ports, and the cards
will allow me to share IRQs between ports. There are 5 available IRQs and
10 ports; in other words, there aren't enough IRQs to allow every port to
have one of its own, so some sharing is necessary.

With the hardware I have here, I have two choices. I can use up every IRQ
in the machine and put two UARTS on each, or I can lump more together
(there are three ISA cards, so that means I could get away with using 3 out
of the 5).  The latter approach has the advantage that I can add another
peripheral in the remaining vacant PCI slot and would have an IRQ for it.
But which would yield better performance?  It seems to me that the high
overhead of taking an interrupt MIGHT make it better to put many ports on
one IRQ, since polling each port on the card probably still costs less than
a context switch on an Intel CPU (a truly ugly process ;-).  On the other
hand, the source code suggests that the driver turns off interrupts as
it services serial ports, so there MIGHT be a chance of starving otner
devices (in particular, the system's cantankerous IDE interface) if
there were many UARTs on an IRQ.  What say ye?

--Brett




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