drm/i915: Drop spinlocks around adding to the client request list
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 2 Mar 2017 12:25:25 +0000 (12:25 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 2 Mar 2017 22:33:41 +0000 (22:33 +0000)
commitc8659efac544b7df1106022d78617a1ca1d9a38c
tree4771b2d5c9bd358f42d4cdb058b4fb9dcc2c1894
parent5be6e33400992d3450e1c8234a5af353e1560580
drm/i915: Drop spinlocks around adding to the client request list

Adding to the tail of the client request list as the only other user is
in the throttle ioctl that iterates forwards over the list. It only
needs protection against deletion of a request as it reads it, it simply
won't see a new request added to the end of the list, or it would be too
early and rejected. We can further reduce the number of spinlocks
required when throttling by removing stale requests from the client_list
as we throttle.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170302122525.19675-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_debugfs.c
drivers/gpu/drm/i915/i915_gem.c
drivers/gpu/drm/i915/i915_gem_execbuffer.c
drivers/gpu/drm/i915/i915_gem_request.c
drivers/gpu/drm/i915/i915_gem_request.h