From 538fa87f40709f2cafb561056ea3ca5c46f8c85e Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Wed, 5 Apr 2017 14:10:36 -0700 Subject: [PATCH] i965/drm: Use list_for_each_entry_safe in a couple of cases. Suggested by Chris Wilson. A tiny bit simpler. Reviewed-by: Daniel Vetter --- src/mesa/drivers/dri/i965/brw_bufmgr.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_bufmgr.c b/src/mesa/drivers/dri/i965/brw_bufmgr.c index 0863446..b12cd3a 100644 --- a/src/mesa/drivers/dri/i965/brw_bufmgr.c +++ b/src/mesa/drivers/dri/i965/brw_bufmgr.c @@ -236,10 +236,7 @@ static void brw_bo_cache_purge_bucket(struct brw_bufmgr *bufmgr, struct bo_cache_bucket *bucket) { - while (!list_empty(&bucket->head)) { - struct brw_bo *bo; - - bo = LIST_ENTRY(struct brw_bo, bucket->head.next, head); + list_for_each_entry_safe(struct brw_bo, bo, &bucket->head, head) { if (brw_bo_madvise(bo, I915_MADV_DONTNEED)) break; @@ -596,10 +593,7 @@ cleanup_bo_cache(struct brw_bufmgr *bufmgr, time_t time) for (i = 0; i < bufmgr->num_buckets; i++) { struct bo_cache_bucket *bucket = &bufmgr->cache_bucket[i]; - while (!list_empty(&bucket->head)) { - struct brw_bo *bo; - - bo = LIST_ENTRY(struct brw_bo, bucket->head.next, head); + list_for_each_entry_safe(struct brw_bo, bo, &bucket->head, head) { if (time - bo->free_time <= 1) break; @@ -1096,10 +1090,8 @@ brw_bufmgr_destroy(struct brw_bufmgr *bufmgr) /* Free any cached buffer objects we were going to reuse */ for (int i = 0; i < bufmgr->num_buckets; i++) { struct bo_cache_bucket *bucket = &bufmgr->cache_bucket[i]; - struct brw_bo *bo; - while (!list_empty(&bucket->head)) { - bo = LIST_ENTRY(struct brw_bo, bucket->head.next, head); + list_for_each_entry_safe(struct brw_bo, bo, &bucket->head, head) { list_del(&bo->head); bo_free(bo); -- 2.7.4