[...] > interestingly, the design of ASIO only allows 2 interrupts per > hardware buffer. ALSA is much more flexible in handling this kind of > thing.
A huge mistake of ASIO IMHO. On the Audiowerk8 for example, running 3 interrupts per buffer allows using the input DMA interrupt only; this interrupt will always occur after the output DMA interrupt because of buffering. When using only two interrupts per buffer one would have to wait for the input interrupt also, but be finished before the output interrupt, hurting performance. The complexity of the driver also goes up. Due to interrupt latency, very small xruns are impossible to detect with only two interrupts. So for this kind of hardware (buffer in host memory, small DMA FIFOs), I'd always use three interrupts per buffer, and thus ASIO sucks :) --ms
