summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_gem_request.c
diff options
context:
space:
mode:
authorChris Wilson2016-07-26 13:01:51 +0200
committerChris Wilson2016-07-26 14:00:58 +0200
commit2a1d775201081c400d7e60ceb8e5ac887d11b1f7 (patch)
tree5bd3ef0d28b31918b4325c4f74459855ba2f2095 /drivers/gpu/drm/i915/i915_gem_request.c
parentdrm/i915: Reduce breadcrumb lock coverage for intel_engine_enable_signaling() (diff)
downloadkernel-qcow2-linux-2a1d775201081c400d7e60ceb8e5ac887d11b1f7.tar.gz
kernel-qcow2-linux-2a1d775201081c400d7e60ceb8e5ac887d11b1f7.tar.xz
kernel-qcow2-linux-2a1d775201081c400d7e60ceb8e5ac887d11b1f7.zip
drm/i915: Prefer list_first_entry_or_null
list_first_entry_or_null() can generate better code than using if (!list_empty()) {ptr = list_first_entry()) ..., so put it to use. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: http://patchwork.freedesktop.org/patch/msgid/1469432687-22756-3-git-send-email-chris@chris-wilson.co.uk Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1469530913-17180-2-git-send-email-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gem_request.c')
-rw-r--r--drivers/gpu/drm/i915/i915_gem_request.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_request.c b/drivers/gpu/drm/i915/i915_gem_request.c
index 60a3a343b3a8..49396b895a36 100644
--- a/drivers/gpu/drm/i915/i915_gem_request.c
+++ b/drivers/gpu/drm/i915/i915_gem_request.c
@@ -317,12 +317,10 @@ __i915_gem_request_alloc(struct intel_engine_cs *engine,
return ret;
/* Move the oldest request to the slab-cache (if not in use!) */
- if (!list_empty(&engine->request_list)) {
- req = list_first_entry(&engine->request_list,
+ req = list_first_entry_or_null(&engine->request_list,
typeof(*req), list);
- if (i915_gem_request_completed(req))
- i915_gem_request_retire(req);
- }
+ if (req && i915_gem_request_completed(req))
+ i915_gem_request_retire(req);
req = kmem_cache_zalloc(dev_priv->requests, GFP_KERNEL);
if (!req)