On Wed, Nov 28, 2012 at 6:44 PM, Alan Swanson <swanson@xxxxxxxxx> wrote: > On Wed, 2012-11-28 at 18:24 -0500, Jerome Glisse wrote: >> On Wed, Nov 28, 2012 at 6:18 PM, Thomas Hellstrom <thomas@xxxxxxxxxxxx> wrote: >> > On 11/28/2012 04:58 PM, j.glisse@xxxxxxxxx wrote: >> >> >> >> From: Jerome Glisse <jglisse@xxxxxxxxxx> >> >> >> >> This patch add a minimum residency time configurable for each memory >> >> pool (VRAM, GTT, ...). Intention is to avoid having a lot of memory >> >> eviction from VRAM up to a point where the GPU pretty much spend all >> >> it's time moving things in and out. >> > >> > >> > This patch seems odd to me. >> > >> > It seems the net effect is to refuse evictions from VRAM and make buffers go >> > somewhere else, and that makes things faster? >> > >> > Why don't they go there in the first place instead of trying to force them >> > into VRAM, >> > when VRAM is full? >> > >> > /Thomas >> >> It's mostly a side effect of cs and validating with each cs, if boA is >> in cs1 and not in cs2 and boB is in cs1 but not in cs2 than boA could >> be evicted by cs2 and boB moved in, if next cs ie cs3 is like cs1 then >> boA move back again and boB is evicted, then you get cs4 which >> reference boB but not boA, boA get evicted and boB move in ... So ttm >> just spend its time doing eviction but he doing so because it's ask by >> the driver to do so. Note that what is costly there is not the bo move >> in itself but the page allocation. >> >> I propose this patch to put a boundary on bo eviction frequency, i >> thought it might help other driver, if you set the residency time to 0 >> you get the current behavior, if you don't you enforce a minimum >> residency time which helps driver like radeon. Of course a proper fix >> to the bo eviction for radeon has to be in radeon code and is mostly >> an overhaul of how we validate bo. >> >> But i still believe that this patch has value in itself by allowing >> driver to put a boundary on buffer movement frequency. >> >> Cheers, >> Jerome > > So, a variation on John Carmack's recommendation from 2000 to use MRU, > not LRU, to avoid texture trashing. > > Mar 07, 2000 - Virtualized video card local memory is The Right Thing. > http://floodyberry.com/carmack/johnc_plan_2000.html > > In fact, this was last discussed in 2005 with a patch for a 1 second > stale texture eviction and I (still) wondered why a method it was never > implemented since it was an clear problem. > > http://thread.gmane.org/gmane.comp.video.dri.devel/17274/focus=17305 > > -- > Alan. Yes such heuristic might be a good idea, i am working on a prototype which mostly require a bit of infrastructure. Cheers, Jerome _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel