Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 3 Feb 1997 12:26:56 +0100
From:      se@freebsd.org (Stefan Esser)
To:        Andre.Albsmeier@mchp.siemens.de (Andre Albsmeier)
Cc:        freebsd-hardware@freebsd.org
Subject:   Re: 5 devices in 4 PCI Slots ?
Message-ID:  <19970203122656.TL27173@x14.mi.uni-koeln.de>
In-Reply-To: <199702021445.PAA28878@server.us.tld>; from Andre Albsmeier on Feb 2, 1997 15:45:56 %2B0100
References:  <199702021445.PAA28878@server.us.tld>

next in thread | previous in thread | raw e-mail | index | archive | help
On Feb 2, Andre.Albsmeier@mchp.siemens.de (Andre Albsmeier) wrote:
> Hi,
> 
> I am currently running 2.2 on a Chaintech P5 board which has 4 PCI slots
> available. Two of them are used with two 2940 controllers and the third
> is used with a 2-channel SMC-Ethernet Card. The dmesg is as follows:
> 
> ahc0 <Adaptec 2940 Ultra SCSI host adapter> rev 0 int a irq 9 on pci0:9
> ahc0: aic7880 Single Channel, SCSI Id=7, 16 SCBs
> ahc1 <Adaptec 2940 Ultra SCSI host adapter> rev 0 int a irq 10 on pci0:10
> ahc1: aic7880 Single Channel, SCSI Id=7, 16 SCBs
> Probing for devices on PCI bus 1:
> de0 <Digital 21040 Ethernet> rev 36 int a irq 11 on pci1:4
> de0: SMC 8434BT-CH1 21040 [10Mb/s] pass 2.4
> de0: address 00:00:c0:ba:73:e0
> de0: enabling BNC/AUI port
> de1 <Digital 21040 Ethernet> rev 36 int a irq 12 on pci1:5
> de1: SMC 8434BT-CH2 21040 [10Mb/s] pass 2.4
> de1: address 00:00:c0:81:78:e0
> de1: enabling BNC/AUI port
> 
> However, I want to add a third 2940 to the fourth PCI slot. Will there
> be any problems with the interrupts? Will there be one interrupt
> assigned two times. Does FreeBSD handle this case properly?

1) Two PCI interrupts will go to the same IRQ, and this will 
   slightly increase interrupt overhead.
   You should try to reduce the cumulated sycles spent in the
   interrupt dispatcher by sharing interrupts between lightly
   loaded devices (or, rather: devices that generate interrupts
   only at a moderate rate, in the long term).
   The interrupt lines, that will actually be shared, depend
   on your particular motherboard. But it is most common to 
   have IntA of one slot be IntB of its one neighbour, and IntD
   of its other neighbour. (In a way, you can imagine PCI Int
   lines to be connected "diagonally", wrapping around from
   IntD to IntA ...)

2) FreeBSD is expected to handle this, and each single case 
   where it is found to NOT handle interrupt sharing should
   be reported as a bug!

(BTW: You will find, that you will have TWO shared interrupts,
since you alread have 4 PCI devices, and will have 6 ...)

Gruss, STefan



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