[PATCH 15/18] prev-rq
Chris Wilson
chris at chris-wilson.co.uk
Thu May 24 20:20:23 UTC 2018
---
drivers/gpu/drm/i915/i915_request.c | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_request.c b/drivers/gpu/drm/i915/i915_request.c
index f187250e60c6..818ea3574759 100644
--- a/drivers/gpu/drm/i915/i915_request.c
+++ b/drivers/gpu/drm/i915/i915_request.c
@@ -694,12 +694,6 @@ i915_request_alloc(struct intel_engine_cs *engine, struct i915_gem_context *ctx)
if (ret)
goto err_unreserve;
- /* Move our oldest request to the slab-cache (if not in use!) */
- rq = list_first_entry(&ce->ring->request_list, typeof(*rq), ring_link);
- if (!list_is_last(&rq->ring_link, &ce->ring->request_list) &&
- i915_request_completed(rq))
- i915_request_retire(rq);
-
/*
* Beware: Dragons be flying overhead.
*
@@ -1138,8 +1132,11 @@ void __i915_request_add(struct i915_request *request, bool flush_caches)
* work on behalf of others -- but instead we should benefit from
* improved resource management. (Well, that's the theory at least.)
*/
- if (prev && i915_request_completed(prev))
- i915_request_retire_upto(prev);
+
+ /* Move our oldest request to the slab-cache (if not in use!) */
+ prev = list_first_entry(&ring->request_list, typeof(*prev), ring_link);
+ if (prev != request && i915_request_completed(prev))
+ i915_request_retire(prev);
}
static unsigned long local_clock_us(unsigned int *cpu)
--
2.17.0
More information about the Intel-gfx-trybot
mailing list