Subject: Re: [linux-audio-user] Is everyone sick of interrupts yet?
From: Lee Revell (rlrevell_AT_joe-job.com)
Date: Wed Sep 29 2004 - 04:11:21 EEST
On Tue, 2004-09-28 at 20:52, Mark Knecht wrote:
> On Tue, 2004-09-28 at 17:05, Lee Revell wrote:
>
> > Correct. I have measured the delay, is it a matter of a few
> > nanoseconds.
>
> I don't mean to be argumentative but it cannot be. A single PCI clock
> cycle is 30nS @33MHz. It takes dozens of PCI cycles for the chipset to
> ensure access to the bus (removing PCI grant and waiting until all
> devices are off, then sending a PCI address, getting a target hit
> response and starting the read. At that point you can read a single
> register, or possibly multiple registers if the chip supports it. This
> is not a few nanosecond. A few micro seconds to read a single Interrutp
> register in a PCI chip to see if it's involved, but not nanoseconds.
> Most North Bridges cannot access the PCI bus for fewer than about 15
> clocks by the time you look at their bus operations. We do this stuff
> all the time in our PCI 1394 drivers looking at IO's/Sec. PCI-Express
> maybe, but not PCI.
>
> If you're talking about the speed reading the PCI itself, then I'd buy
> that this is much shorter as it's in the chipset. However, the processor
> still has to cross the front side bus. There are latencies that arise
> there dependign on what the processoris doing physically. Certainly this
> time is much shorter though.
Oops, sorry, I meant microseconds. I was actually looking at a trace
when I wrote this, and Ingo's tracer prints milliseconds, and I screwed
up the conversion. It looks like 2-3 usecs to determine where the
interrupt came from if two devices share an irq.
Lee
This archive was generated by hypermail 2b28 : Wed Sep 29 2004 - 04:19:57 EEST