Module: Mesa
Branch: master
Commit: 7b4b8f6373a960e8996169a5b7fadd6bcca42d94
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7b4b8f6373a960e8996169a5b7fadd6bcca42d94

Author: Marek Olšák <[email protected]>
Date:   Wed Sep  6 23:09:41 2017 +0200

disk_cache: make the thread queue resizable and low priority

Acked-by: Timothy Arceri <[email protected]>
Reviewed-by: Nicolai Hähnle <[email protected]>

---

 src/util/disk_cache.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/util/disk_cache.c b/src/util/disk_cache.c
index b789a454eb..33e4dc8e7d 100644
--- a/src/util/disk_cache.c
+++ b/src/util/disk_cache.c
@@ -358,13 +358,15 @@ disk_cache_create(const char *gpu_name, const char 
*timestamp,
 
    cache->max_size = max_size;
 
-   /* A limit of 32 jobs was choosen as observations of Deus Ex start-up times
-    * showed that we reached at most 11 jobs on an Intel i5-6400 [email protected]
-    * (a fairly modest desktop CPU). 1 thread was chosen because we don't
-    * really care about getting things to disk quickly just that it's not
-    * blocking other tasks.
+   /* 1 thread was chosen because we don't really care about getting things
+    * to disk quickly just that it's not blocking other tasks.
+    *
+    * The queue will resize automatically when it's full, so adding new jobs
+    * doesn't stall.
     */
-   util_queue_init(&cache->cache_queue, "disk_cache", 32, 1, 0);
+   util_queue_init(&cache->cache_queue, "disk_cache", 32, 1,
+                   UTIL_QUEUE_INIT_RESIZE_IF_FULL |
+                   UTIL_QUEUE_INIT_USE_MINIMUM_PRIORITY);
 
    uint8_t cache_version = CACHE_VERSION;
    size_t cv_size = sizeof(cache_version);

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to