*BSD News Article 68261


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.mel.connect.com.au!munnari.OZ.AU!news.ecn.uoknor.edu!solace!nntp.uio.no!news.cais.net!news.mathworks.com!newsfeed.internetmci.com!in1.uu.net!news.artisoft.com!usenet
From: Terry Lambert <terry@lambert.org>
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Re: FreeBSD as a router
Date: Fri, 10 May 1996 20:21:24 -0700
Organization: Me
Lines: 54
Message-ID: <319407B4.32F4B8B6@lambert.org>
References: <4lfm8j$kn3@nuscc.nus.sg> <317CAABE.7DE14518@FreeBSD.org> <4lt098$erq@itchy.serv.net> <Pine.SUN.3.90.960427140735.3161C-100000@tulip.cs.odu.edu> <4mj7f2$mno@news.clinet.fi> <318E6BB1.6A71C39B@lambert.org> <4mtfsg$14l8@serra.unipi.it>
NNTP-Posting-Host: hecate.artisoft.com
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Mailer: Mozilla 2.01 (X11; I; Linux 1.1.76 i486)

Luigi Rizzo wrote:
] In article <318E6BB1.6A71C39B@lambert.org>, Terry Lambert
<terry@lambert.org> writes:
] |> cards in the machine, and don't buy shared interrupt boards from
] |> the Intel OEM products division, buy the discrete interrupt ones
] |> from their server products division).
] 
] I think that shared interrupts are not that terrible.
] 
] For every interrupt (which has a relatively high OS overhead anyways)
] you just have to check every board in the chain to see which one
] generated the interrupt.  Since this should cost roughly a procedure
] call/return for each board, and I doubt that you have to walk more
] than 3-4 boards anyways, my feeling is that shared interrupts are
] costing you about one microsecond (or less) per interrupt WRT
] non-shared interrupts. Anything wrong with this reasoning ?

You can't ack the interrupt for just one board.  Therefore the
processing latency for a common event goes up by the number of
boards sharing the interrupt.

Effectively, this means an overall increasse in latency for every
board added.

For non-shared interrupts, the latency remains constant: another
board can issue an interrupt immediately after processing since
the ACK doesn't have to span several cards.


Consider a hypothetical router with 4 ethernet interfaces.  You
can not have packets arriving independntly on two of the interfaces
and sent to the other two interfaces if the interrupts are shared
on the recievers.  If your transmitters are interrupt driven, then
you are messed up on the transmit side as well.

Disk-to-disk activity, or more likely, disk-to-tape or
tape-to-disk activity can not occur simultaneously, it must
be sequenced instead of interleaved.

The same is true for, for instance, backup or news distribution
over a network to a machine with the ethernet and the SCSI
sharing the same interrupt.

Of course all this assumes you care about performance... which
you do, or you'd be running cheap ISA cards for everything (and
not sharing interrupts because ISA is incapable of it anyway).


					Regards,
                                        Terry Lambert
                                        terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.