drm/i915: Only update the current userptr worker
commit 68d6c840 upstream. The userptr worker allows for a slight race condition where upon there may two or more threads calling get_user_pages for the same object. When we have the array of pages, then we serialise the update of the object. However, the worker should only overwrite the obj->userptr.work pointer if and only if it is the active one. Currently we clear it for a secondary worker with the effect that we may rarely force a second lookup. v2: Rebase and rename a variable to avoid 80cols v3: Mention v2 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> [ kamal: 4.2-stable prereq for e4b946bf "drm/i915: Fix userptr deadlock with aliased GTT mmappings" ] Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Showing
Please register or sign in to comment