]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Convert non-blocking waits for requests over to using RCU
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 5 Aug 2016 09:14:07 +0000 (10:14 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 5 Aug 2016 09:54:34 +0000 (10:54 +0100)
commit792a1828dbb909d1aa2cd35bd85d678d3454b2c2
tree87f367f7edfb4dc91ef6277fec2d94cbadd65595
parent18ff51311a532381b9fad4c0f50e764420da71f1
drm/i915: Convert non-blocking waits for requests over to using RCU

We can completely avoid taking the struct_mutex around the non-blocking
waits by switching over to the RCU request management (trading the mutex
for a RCU read lock and some complex atomic operations). The improvement
is that we gain further contention reduction, and overall the code
become simpler due to the reduced mutex dancing.

v2: Move i915_gem_fault tracepoint back to the start of the function,
before the unlocked wait.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1470388464-28458-2-git-send-email-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_gem.c