drm/i915: Only hold a process-local lock whilst throttling.
Avoid cause latencies in other clients by not taking the global struct mutex and moving the per-client request manipulation a local per-client mutex. For example, this allows a compositor to schedule a page-flip (through X) whilst an OpenGL application is monopolising the GPU. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
@ -58,10 +58,9 @@ struct intel_ring_buffer {
|
||||
u32 flush_domains);
|
||||
u32 (*add_request)(struct drm_device *dev,
|
||||
struct intel_ring_buffer *ring,
|
||||
struct drm_file *file_priv,
|
||||
u32 flush_domains);
|
||||
u32 (*get_gem_seqno)(struct drm_device *dev,
|
||||
struct intel_ring_buffer *ring);
|
||||
u32 (*get_seqno)(struct drm_device *dev,
|
||||
struct intel_ring_buffer *ring);
|
||||
int (*dispatch_gem_execbuffer)(struct drm_device *dev,
|
||||
struct intel_ring_buffer *ring,
|
||||
struct drm_i915_gem_execbuffer2 *exec,
|
||||
|
Reference in New Issue
Block a user