sna: Reduce fence watermarks

Further restrict the amount of fenced bo we try to fit into the batch to
make it easier for the kernel to accommodate the request.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson 2012-12-14 15:37:56 +00:00
parent 0d3ba44e44
commit 9df9585cb0
1 changed files with 8 additions and 5 deletions

View File

@ -3906,9 +3906,12 @@ bool kgem_check_bo_fenced(struct kgem *kgem, struct kgem_bo *bo)
if (kgem->nfence >= kgem->fence_max)
return false;
if (3*kgem->aperture_fenced > kgem->aperture_mappable)
return false;
size = kgem->aperture_fenced;
size += kgem_bo_fenced_size(kgem, bo);
if (4*size > 3*kgem->aperture_mappable)
if (3*size > 2*kgem->aperture_mappable)
return false;
}
@ -3932,12 +3935,12 @@ bool kgem_check_bo_fenced(struct kgem *kgem, struct kgem_bo *bo)
if (kgem->nfence >= kgem->fence_max)
return false;
if (2*kgem->aperture_fenced > kgem->aperture_mappable)
if (3*kgem->aperture_fenced > kgem->aperture_mappable)
return false;
size = kgem->aperture_fenced;
size += kgem_bo_fenced_size(kgem, bo);
if (4*size > 3*kgem->aperture_mappable)
if (3*size > 2*kgem->aperture_mappable)
return false;
}
@ -3982,10 +3985,10 @@ bool kgem_check_many_bo_fenced(struct kgem *kgem, ...)
if (kgem->nfence + num_fence > kgem->fence_max)
return false;
if (2*kgem->aperture_fenced > kgem->aperture_mappable)
if (3*kgem->aperture_fenced > kgem->aperture_mappable)
return false;
if (4*(fenced_size + kgem->aperture_fenced) > 3*kgem->aperture_mappable)
if (3*(fenced_size + kgem->aperture_fenced) > 2*kgem->aperture_mappable)
return false;
}