Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 4 Nov 1996 21:45:09 +0100
From:      se@zpr.uni-koeln.de (Stefan Esser)
To:        hasty@rah.star-gate.com (Amancio Hasty)
Cc:        se@zpr.uni-koeln.de (Stefan Esser), jkh@time.cdrom.com (Jordan K. Hubbard), tinguely@plains.nodak.edu (Mark Tinguely), hackers@FreeBSD.org, multimedia@FreeBSD.org
Subject:   Re: Matrox Meteor and PPRO problem found
Message-ID:  <199611042046.VAA02155@x14.mi.uni-koeln.de>
In-Reply-To: <199611041909.LAA02830@rah.star-gate.com>; from Amancio Hasty on Nov 4, 1996 11:09:23 -0800
References:  <199611041909.LAA02830@rah.star-gate.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Amancio Hasty writes:
> >From The Desk Of Stefan Esser :
> > Jordan K. Hubbard writes:

> > > Notice how they're both on the same IRQ?  I can capture without saving
> > > all day, turn on grab-and-save, however, and I trigger the hang
> > > problem Amancio's been talking about.  Interesting coincidence.  Does
> > > our PCI code currently handle IRQ sharing with 100% success?
> > 
> > Well, I'm quite convinced it does ...
> 
> Curious , how  is the IRQs sharing currently being implemented?
> Or how does the PCI code know which adapter generated the interrupt?

PCI device drivers have to assume that their interrupt handlers
are called without actually needing service, and for that reason
have to check the device's interrupt status register as soon as
possible. A device that does not require service will return to
a dispatcher loop (which has been registered as the interrupt
handler) and that loop will apply the correct netmask (bio_mask,
net_mask, ...) for each handler. This allows a network adapter
and a SCSI card to share the same IRQ with no problems (and with
no need to block out interrupts to unrelated devices for too long).

The performance impact is very low (at most a few usecs per interrupt), 
if each driver really checks its interrupt status first.

This code was written by Wolfgang Stanglmeier about one year ago
and has been used with no (reported) problems on quite some systems,
possibly without their owners knowing :)

Regards, STefan



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