On Tuesday 01 February 2005 22:02, Timothy Miller wrote: > <[EMAIL PROTECTED]> wrote: > >Also, you need kernel-specific mechanisms to ensure > > that this is locked memory (never goes to swap, never gets > > remapped) and/or to have multiple contiguous pages. > > I thought this was simple in Linux.
It is. Anyway, with DRI we get to put code in kernel space where all things are possible, including setting up DMA. I do need to familiarize myself with the DRI interface, which I haven't done yet. > If the X server just controlled > the ring buffer on its own, there would be no ioctl overhead, and > we'd only have to deal with the PIO. Furthermore, if there were some > sort of timer, then the PIO would only happen periodically, further > reducing the overhead. (This is particularly bad with CopyArea which > doesn't have any way to submit lists of copies, making X protocol and > CPU processing the dominant factor in its performance.) I'm sure we can sort this out. I don't know how yet because I haven't looked at enough code, but it doesn't strike me as hard. > I'll just note that I worked out a fully DMA DDX layer for a > particular GPU not that long ago, and I found all sorts of > inefficiencies and ways to get around them. It was somewhat of a > challenge to deal with DMA buffer flushes (and dual processor issues) > from user space under Solaris which provides no straightforward means > for user space processes to do DMA. Fortunately, this isn't Solaris :) Regards, Daniel _______________________________________________ Open-graphics mailing list [email protected] http://lists.duskglow.com/mailman/listinfo/open-graphics List service provided by Duskglow Consulting, LLC (www.duskglow.com)
