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)

Reply via email to