On Mon, Apr 10, 2017 at 12:18:46AM -0700, Kenneth Graunke wrote: > Suggested by Chris Wilson. A tiny bit simpler.
Reviewed-by: Daniel Vetter <daniel.vet...@ffwll.ch> > --- > src/mesa/drivers/dri/i965/brw_bufmgr.c | 14 +++----------- > 1 file changed, 3 insertions(+), 11 deletions(-) > > This applies on top of my 'bacondrm' rework. You can see the whole branch > in the 'bacondrm-2' branch of ~kwg/mesa. > > diff --git a/src/mesa/drivers/dri/i965/brw_bufmgr.c > b/src/mesa/drivers/dri/i965/brw_bufmgr.c > index 08634468256..b12cd3acfc3 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.12.1 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev