From: Bruce Cherniak Date: Tue, 12 Dec 2017 23:18:23 +0000 (-0600) Subject: swr: Fix KNOB_MAX_WORKER_THREADS thread creation override. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=709f5bdc4a2bf31f422f5cf60797224c0463c10a;p=mesa.git swr: Fix KNOB_MAX_WORKER_THREADS thread creation override. Environment variable KNOB_MAX_WORKER_THREADS allows the user to override default thread creation and thread binding. Previous commit to adjust linux cpu topology caused setting this KNOB to bind all threads to a single core. This patch restores correct functionality of override. Cc: Reviewed-by: Tim Rowley --- diff --git a/src/gallium/drivers/swr/rasterizer/core/threads.cpp b/src/gallium/drivers/swr/rasterizer/core/threads.cpp index f4ddc212264..6242cb3fc7c 100644 --- a/src/gallium/drivers/swr/rasterizer/core/threads.cpp +++ b/src/gallium/drivers/swr/rasterizer/core/threads.cpp @@ -213,8 +213,7 @@ void CalculateProcessorTopology(CPUNumaNodes& out_nodes, uint32_t& out_numThread { for (auto &core : node.cores) { - out_numThreadsPerProcGroup = std::max((size_t)out_numThreadsPerProcGroup, - core.threadIds.size()); + out_numThreadsPerProcGroup += core.threadIds.size(); } }