Mesa (master): radeonsi: decrease the number of compiler threads to num CPUs - 1

Marek Olšák mareko at kemper.freedesktop.org
Wed Jun 7 16:43:55 UTC 2017


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Sat May 27 12:13:34 2017 +0200

radeonsi: decrease the number of compiler threads to num CPUs - 1

Reserve one core for other things (like draw calls).

Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

---

 src/gallium/drivers/radeonsi/si_pipe.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c
index bbb5ea660d..0c2f6b37db 100644
--- a/src/gallium/drivers/radeonsi/si_pipe.c
+++ b/src/gallium/drivers/radeonsi/si_pipe.c
@@ -882,8 +882,11 @@ struct pipe_screen *radeonsi_screen_create(struct radeon_winsys *ws)
 		return NULL;
 	}
 
-	/* Only enable as many threads as we have target machines and CPUs. */
+	/* Only enable as many threads as we have target machines, but at most
+	 * the number of CPUs - 1 if there is more than one.
+	 */
 	num_cpus = sysconf(_SC_NPROCESSORS_ONLN);
+	num_cpus = MAX2(1, num_cpus - 1);
 	num_compiler_threads = MIN2(num_cpus, ARRAY_SIZE(sscreen->tm));
 
 	if (!util_queue_init(&sscreen->shader_compiler_queue, "si_shader",




More information about the mesa-commit mailing list