On Sat, 19 Mar 2011 23:55:11 +0100, Daniel Vetter <dan...@ffwll.ch> wrote: > A few nitpicks below. > > > diff --git a/drivers/gpu/drm/i915/i915_gem.c > > b/drivers/gpu/drm/i915/i915_gem.c > > index 5201f82..2dbf8f7 100644 > > --- a/drivers/gpu/drm/i915/i915_gem.c > > +++ b/drivers/gpu/drm/i915/i915_gem.c > > @@ -2461,13 +2461,15 @@ i915_gem_object_flush_fence(struct > > drm_i915_gem_object *obj, > > obj->fenced_gpu_access = false; > > } > > > > + if (obj->last_fenced_seqno && > > + ring_passed_seqno(obj->ring, obj->last_fenced_seqno)) > > + obj->last_fenced_seqno = 0; > > This only avoids running the request retiring logic. Without this there are a > few more things to simplify, I think:
Not strictly. We only do i915_wait_request() if changing rings, yet we want to check if the object has any outstanding fences for an optimisation later (writing the fence register immediately whenever possible). > > if (obj->last_fenced_seqno && pipelined != obj->ring) { > > - if (!ring_passed_seqno(obj->ring, obj->last_fenced_seqno)) { > > - ret = i915_wait_request(obj->ring, > > - obj->last_fenced_seqno); > > - if (ret) > > - return ret; > > - } > > + ret = i915_wait_request(obj->ring, > > + obj->last_fenced_seqno); > > + if (ret) > > + return ret; > > > > obj->last_fenced_seqno = 0; > > Can't we move that (and the other copies) to move_off_active? No, because the obj may remain active even after the wait. > > > @@ -2648,15 +2650,18 @@ i915_gem_object_get_fence(struct > > drm_i915_gem_object *obj, > > old->last_fenced_seqno); > > } > > Above here is the imo unnecessary clause mentioned in a previous patch. ECONTEXT? -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx