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. > Way too small to be an issue _if_ the irq handling system > is properly designed for low latency, as is the case with OSX and Linux > 2.6 with the VP patches. The 2.4 low latency kernel is more of a hack. I'm not a programmer. I couldn't comment on that. > > I have also measured the delay when the USB irq handler is shared with > the sound card. With Ingo's latency tracer you can see the actual flow > of control when the USB irq interrupts the soundcard irq. It's very > small, something like 50-100 usecs. To keep this in perspective when > using jack at 32 frames, 48KHZ, you have 333 usecs to respond to the > interrupt. These numbers are much more believable to me. > > Lee >