mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-31 15:40:24 +01:00
swr: Prune empty nodes in CalculateProcessorTopology.
CalculateProcessorTopology tries to figure out system topology by
parsing /proc/cpuinfo to determine the number of threads, cores, and
NUMA nodes. There are some architectures where the "physical id" begins
with 1 rather than 0, which was creating and empty "0" node and causing a
crash in CreateThreadPool.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97102
Reviewed-By: George Kyriazis <george.kyriazis@intel.com>
CC: <mesa-stable@lists.freedesktop.org>
(cherry picked from commit b829206b07)
This commit is contained in:
parent
e4cf4690d1
commit
34f902e17e
1 changed files with 9 additions and 0 deletions
|
|
@ -217,6 +217,15 @@ void CalculateProcessorTopology(CPUNumaNodes& out_nodes, uint32_t& out_numThread
|
|||
out_numThreadsPerProcGroup++;
|
||||
}
|
||||
|
||||
/* Prune empty numa nodes */
|
||||
for (auto it = out_nodes.begin(); it != out_nodes.end(); ) {
|
||||
if ((*it).cores.size() == 0)
|
||||
it = out_nodes.erase(it);
|
||||
else
|
||||
++it;
|
||||
}
|
||||
|
||||
/* Prune empty core nodes */
|
||||
for (uint32_t node = 0; node < out_nodes.size(); node++) {
|
||||
auto& numaNode = out_nodes[node];
|
||||
auto it = numaNode.cores.begin();
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue