From: Gareth H. <ga...@va...> - 2001-03-13 01:47:01
|
Josh Vanderhoof wrote: > > I was too vague. You could mprotect() the page after the DMA buffer > to PROT_NONE and install a SIGSEGV handler that flushes the buffer if > the SIGSEGV was on the end of the DMA buffer. Then you can just let > Vertex3f segfault when it uses the buffer up. You would save yourself > a test and a predicted jump per call. Not much, but it sounds like > you really want to optimize this. Sorry, I get you. You might even be able to do fancy things and catch this in the kernel module -- that would be neat :-) Save us an ioctl... However, the way we manage DMA space will change soon and this will no longer be possible. The drivers will be using a dynamic allocation scheme to get better utilization of the DMA space. Fixed size buffers suck. I'll play around with similar ideas -- mprotect()ing the DMA buffer and catching the segfault in the kernel sure would be neat... Don't know if we can do that, but it's worth looking at. -- Gareth |