Re: Handling transient data

2008-03-04 Thread Eric Anholt
On Tue, 2008-03-04 at 19:27 +0100, Thomas Hellström wrote: > Keith Packard wrote: > > On Tue, 2008-03-04 at 17:34 +0100, Thomas Hellström wrote: > > > >> > >> Hmm, Yes this is a tricky case. Doesn't Intel's coherent GART, > >> DRM_BO_FLAG_CACHED, work here? I suspect it'd be a bit slow thou

Re: Handling transient data

2008-03-04 Thread Thomas Hellström
Keith Packard wrote: > On Tue, 2008-03-04 at 17:34 +0100, Thomas Hellström wrote: > >> >> Hmm, Yes this is a tricky case. Doesn't Intel's coherent GART, >> DRM_BO_FLAG_CACHED, work here? I suspect it'd be a bit slow though. >> > > No, the restrictions on coherent mappings make this mode

Re: Handling transient data

2008-03-04 Thread Keith Packard
On Tue, 2008-03-04 at 17:34 +0100, Thomas Hellström wrote: > > Hmm, Yes this is a tricky case. Doesn't Intel's coherent GART, > DRM_BO_FLAG_CACHED, work here? I suspect it'd be a bit slow though. No, the restrictions on coherent mappings make this mode effectively useless. So, pixmaps need to

Re: Handling transient data

2008-03-04 Thread Thomas Hellström
Dave Airlie wrote: > apologies for top posting, but Thomas's email appears to be breaking > alpine (html or something encoding) > > The big area where we win with CACHED_MAPPED is pixmaps for 2D operations. > > a) we can't know in advance if we should allocate pixmaps as cached or > uncached.

Re: Handling transient data

2008-03-04 Thread Dave Airlie
apologies for top posting, but Thomas's email appears to be breaking alpine (html or something encoding) The big area where we win with CACHED_MAPPED is pixmaps for 2D operations. a) we can't know in advance if we should allocate pixmaps as cached or uncached. b) we can't know if we are going

Re: Handling transient data

2008-03-04 Thread Thomas Hellström
Keith Packard wrote: > On Mon, 2008-03-03 at 19:34 +0100, Thomas Hellström wrote: > > > >> 2) Copying buffers in drm. This is to avoid vma creation and pagefaults, >> right? Yes, that could be an improvement *if* kmap_atomic is used to >> provide the kernel mapping. Doing vmap on a whole bu

Re: Handling transient data

2008-03-04 Thread Thomas Hellström
Jesse Barnes wrote: > On Monday, March 03, 2008 10:34 am Thomas Hellström wrote: > >> 1) Allocating all pages at once: >> Yes, I think this might improve performance in some cases. The reason >> it hasn't been done already is the added complexity needed to keep track >> of the different alloca

Re: Handling transient data

2008-03-03 Thread Keith Packard
On Mon, 2008-03-03 at 19:34 +0100, Thomas Hellström wrote: > 1) Allocating all pages at once: > Yes, I think this might improve performance in some cases. The reason > it hasn't been done already is the added complexity needed to keep track > of the different allocation sizes. One optimizatio

Re: Handling transient data

2008-03-03 Thread Jesse Barnes
On Monday, March 03, 2008 10:34 am Thomas Hellström wrote: > 1) Allocating all pages at once: > Yes, I think this might improve performance in some cases. The reason > it hasn't been done already is the added complexity needed to keep track > of the different allocation sizes. One optimization th

Re: Handling transient data

2008-03-03 Thread Thomas Hellström
Keith Packard wrote: > While buffer objects provide a huge benefit for long-term objects, their > benefit for transient data is less clear. Page allocation, cache > flushing and mmap costs are all significant. This missive is designed to > outline some of the potential mechanisms to ameliorate or t