Subject: Re: results of the IRC debug patch
To: Michael <macallan18@earthlink.net>
From: Tim Kelly <hockey@dialectronics.com>
List: port-macppc
Date: 12/04/2004 13:03:17
At 12:52 PM -0500 12/4/04, Michael wrote:
>> The levels blocked by intr_calcmasks() is the union of the IPL levels of
>> all devices sharing the IRQ.  Sharing an IRQ between an audio and a USB
>> device would be particularly bad: USB is supposed to be at a low priority
>> (IPL_USB == IPL_BIO), but this device gets elevated to IPL_AUDIO.  Even
>> worse, any code running at IPL_BIO would block the shared IRQ, so the audio
>> interrupt will experience high latency.
>Well, I can't help it - the slots not controlled by the PCI bridge hold
>the E100 which doesn't fit anywhere >else and the graphics board which
>needs to sit in a slot directly controlled by a bandit because of
>>firmware stupidity.
>Isn't there some way to differentiate between the bridge-controlled devices?

And of course after I send my analysis I get an email saying the same
thing. The redundancy was accidental.

The IPL levels are a purely OS and even port specific entity. I can already
point to another example of where this is going to cause problems - the
second mediabay on Wallstreet Powerbooks. This is because the I/O
controller for that bay is the one possessing the irq, and the disk drive
and IR device have to share it. I don't think it is reasonable to have
expectations that in the future there will be less sharing of irqs; quite
the opposite, I would think, as some Macs are quite crowded.

tim