drm/i915: Forgo last_fence active request tracking
We were using the last_fence to track the last request that used this vma that might be interpreted by a fence register and forced ourselves to wait for this request before modifying any fence register that overlapped our vma. Due to requirement that we need to track any XY_BLT command, linear or tiled, this in effect meant that we have to track the vma for its active lifespan anyway, so we can forgo the explicit last_fence tracking and just use the whole vma->active. Another solution would be to pipeline the register updates, and would help resolve some long running stalls for gen3 (but only gen 2 and 3!) Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Matthew Auld <matthew.auld@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190812174804.26180-1-chris@chris-wilson.co.uk
This commit is contained in:
@@ -212,9 +212,7 @@ describe_obj(struct seq_file *m, struct drm_i915_gem_object *obj)
|
||||
}
|
||||
}
|
||||
if (vma->fence)
|
||||
seq_printf(m, " , fence: %d%s",
|
||||
vma->fence->id,
|
||||
i915_active_request_isset(&vma->last_fence) ? "*" : "");
|
||||
seq_printf(m, " , fence: %d", vma->fence->id);
|
||||
seq_puts(m, ")");
|
||||
|
||||
spin_lock(&obj->vma.lock);
|
||||
|
Reference in New Issue
Block a user