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.