Re: [PATCH 37/48] drm/i915: Defer request freeing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Dec 06, 2013 at 02:11:22PM -0800, Ben Widawsky wrote:
> From: Ben Widawsky <ben@xxxxxxxxxxxx>
> 
> With context destruction, we always want to be able to tear down the
> underlying address space. This is invoked on the last unreference to the
> context which could happen before we've moved all objects to the
> inactive list. To enable a clean tear down the address space, make sure
> to process the request free lastly.
> 
> Without this change, we cannot guarantee to we don't still have active
> objects in the VM.
> 
> As an example of a failing case:
> CTX-A is created, count=1
> CTX-A is used during execbuf
> 	does a context switch count = 2
> 	and add_request count = 3
> CTX B runs, switches, CTX-A count = 2
> CTX-A is destroyed, count = 1
> retire requests is called
> 	free_request from CTX-A, count = 0 <--- free context with active object
> 
> As mentioned above, by doing the free request after processing the
> active list, we can avoid this case.

So just process the active_list first, the requests and objects
associated with the ring should be fairly independent.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux