From: Henry W. <haw...@at...> - 2002-07-22 19:20:49
|
Benjamin Herrenschmidt wrote: > >The problem I see here is that it also means we probably spend a lot of >time (and in some time non preemptible kernel time) spinning around >waiting for the engine to finish. I didn't study the interrupt capabilities >of the chip but wouldn't it be possible to actually put the process to >sleep and get awaken up by an interrupt when the ring is empty or will >this introduce too much latency to the normal case ? In which case that >could be seldomly used for things like Xv blits which are known to need >quite a bit of processing time by the card. > >Ben. > Could the polling loops be doing something to disrupt the DMA cycles and cause the graphics engine hangs? Do r128 DMA cycles use interrupts that might timeout? Could the tight I/O polling block bus arbitration too long? Henry |