*BSD News Article 63216


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.hawaii.edu!ames!lll-winken.llnl.gov!sol.ctr.columbia.edu!hamblin.math.byu.edu!park.uvsc.edu!usenet
From: Terry Lambert <terry@lambert.org>
Newsgroups: comp.unix.bsd.bsdi.misc
Subject: Re: multiple pci cards [shared IRQs]
Date: 10 Mar 1996 20:31:15 GMT
Organization: Utah Valley State College, Orem, Utah
Lines: 51
Message-ID: <4hve6j$1c0@park.uvsc.edu>
References: <313E5821.6D78@execpc.com> <4htrn1$otm@raid.us.dell.com>
NNTP-Posting-Host: hecate.artisoft.com

james@raid.us.dell.com (James R. Van Artsdalen) wrote:
]
] In <313E5821.6D78@execpc.com>, Craig Hapanovich <chapan@execpc.com> wrote:
] 
] > DEC FDDI card unless I remove the other two cards.  BSD tech support
] > said the problem is all three cards are using the same interrupt(9)
] > and that I should use different interrupts for each card. Does this
] > make any sense?  The zenith setup program will not allow me to
] > change pci interrupts anyway, so now what?
] 
] BSDi Tech Support is confused: PCI devices will often share the
] same IRQ, and BSDi _must_ support this.  This is just a basic
] part of the PCI spec.  There's really no way for the user to
] prevent sharing.
] 
] Most BIOSs will try to use different IRQs for different PCI devices.
] But if there aren't enough IRQs to go around, then the BIOS will begin
] sharing PCI IRQs, potentially putting ever PCI INT on the same IRQ.
] (PCI IDE excepted - these are never shared and aren't really PCI anyway)
] 
] If nothing else, most multi-channel NICs or SCSI controllers will
] use the same IRQ for each device behind the onboard PCI-PCI bridge.

James is right.  It is allowable, in the PCI 2.x spec, for the
motherboard to assign the same IRQ for multiple cards.

Because PCI isn't bogus, like ISA, interrupt sharing is possible,
though it will require changes to the IRQ management software
for the OS.  This probably hasn't happened yet.


Now just because something is allowable, doesn't mean it is
preferrable.  In point of fact, you will probably get higher
performance on a system where you do not need to demux the
PCI interrupts because you can point to the driver service
routine instead of indirecting through a PCI interrupt demux
for multiple cards (the same thing that must happen in James'
PCI-PCI bridge scenario).

Intel makes a number of PCI motherboards at a number of divisions,
and it's generally only the OEM products division that shares
PCI interrupts, taking advantage of the spec... ie: Plato,
Plato II, Zappa, etc..  Typically I steer clear of these
boards because of the demuxxing performance penalty.


                                        Terry Lambert
                                        terry@cs.weber.edu
---
Any opinions in this posting are my own and not those of my present
or previous employers.