summaryrefslogtreecommitdiff
path: root/src/sna/kgem.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-05-28 12:54:35 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2012-05-28 12:54:35 +0100
commit19c463e52df919fc75de7e420fd3565f0e9a0576 (patch)
tree28800db3b11facaf58c23ecd44f9c9a279f25052 /src/sna/kgem.c
parent5b99c7cd340f782d3057d4257865c5feb96b71f0 (diff)
sna: Only wait if there is a suitable active buffer
There is not point repeating the search after retiring if we know that there is no outstanding suitable active buffer. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/kgem.c')
-rw-r--r--src/sna/kgem.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index 0ef160c3..af5b4b94 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -2837,7 +2837,9 @@ search_inactive:
return bo;
}
- if (flags & CREATE_INACTIVE && __kgem_throttle_retire(kgem, flags)) {
+ if (flags & CREATE_INACTIVE &&
+ !list_is_empty(&kgem->active[bucket][tiling]) &&
+ __kgem_throttle_retire(kgem, flags)) {
flags &= ~CREATE_INACTIVE;
goto search_inactive;
}