Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/corert.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Strehovský <MichalStrehovsky@users.noreply.github.com>2018-07-04 13:34:06 +0300
committerGitHub <noreply@github.com>2018-07-04 13:34:06 +0300
commit6956998b892358352277190aa4608812d35e327e (patch)
tree85cea2d0db69631b72badaf3e41babc8d234256c /src/Native
parent64b344ca9f05792c9addd291faa69f669424e115 (diff)
parent46db859feed5114993af6a194e1da69ec4d95582 (diff)
Merge pull request #6024 from dotnet/nmirror
Merge nmirror to master
Diffstat (limited to 'src/Native')
-rw-r--r--src/Native/Runtime/windows/PalRedhawkMinWin.cpp28
1 files changed, 17 insertions, 11 deletions
diff --git a/src/Native/Runtime/windows/PalRedhawkMinWin.cpp b/src/Native/Runtime/windows/PalRedhawkMinWin.cpp
index b480acb4a..16ec4d6fe 100644
--- a/src/Native/Runtime/windows/PalRedhawkMinWin.cpp
+++ b/src/Native/Runtime/windows/PalRedhawkMinWin.cpp
@@ -1072,7 +1072,7 @@ void DumpCacheTopology(_In_reads_(cRecords) SYSTEM_LOGICAL_PROCESSOR_INFORMATION
switch (pProcInfos[i].Relationship)
{
case RelationProcessorCore:
- printf(" [%2d] Core: %d threads 0x%04zx mask, flags = %d\n",
+ printf(" [%2d] Core: %d threads 0x%04Ix mask, flags = %d\n",
i, CountBits(pProcInfos[i].ProcessorMask), pProcInfos[i].ProcessorMask,
pProcInfos[i].ProcessorCore.Flags);
break;
@@ -1086,16 +1086,16 @@ void DumpCacheTopology(_In_reads_(cRecords) SYSTEM_LOGICAL_PROCESSOR_INFORMATION
case CacheTrace: pszCacheType = "[Trace ]"; break;
default: pszCacheType = "[Unk ]"; break;
}
- printf(" [%2d] Cache: %s 0x%08x bytes 0x%04zx mask\n", i, pszCacheType,
+ printf(" [%2d] Cache: %s 0x%08x bytes 0x%04Ix mask\n", i, pszCacheType,
pProcInfos[i].Cache.Size, pProcInfos[i].ProcessorMask);
break;
case RelationNumaNode:
- printf(" [%2d] NumaNode: #%02d 0x%04zx mask\n",
+ printf(" [%2d] NumaNode: #%02d 0x%04Ix mask\n",
i, pProcInfos[i].NumaNode.NodeNumber, pProcInfos[i].ProcessorMask);
break;
case RelationProcessorPackage:
- printf(" [%2d] Package: 0x%04zx mask\n",
+ printf(" [%2d] Package: 0x%04Ix mask\n",
i, pProcInfos[i].ProcessorMask);
break;
case RelationAll:
@@ -1113,8 +1113,8 @@ void DumpCacheTopologyResults(UInt32 maxCpuId, CpuVendor cpuVendor, _In_reads_(c
DumpCacheTopology(pProcInfos, cRecords);
printf("maxCpuId: %d, %s\n", maxCpuId, (cpuVendor == CpuIntel) ? "CpuIntel" : ((cpuVendor == CpuAMD) ? "CpuAMD" : "CpuUnknown"));
printf(" g_cLogicalCpus: %d %d :CLR_GetLogicalCpuCount\n", g_cLogicalCpus, CLR_GetLogicalCpuCount(pProcInfos, cRecords));
- printf(" g_cbLargestOnDieCache: 0x%08zx 0x%08zx :CLR_LargestOnDieCache(TRUE)\n", g_cbLargestOnDieCache, CLR_GetLargestOnDieCacheSize(TRUE, pProcInfos, cRecords));
- printf("g_cbLargestOnDieCacheAdjusted: 0x%08zx 0x%08zx :CLR_LargestOnDieCache(FALSE)\n", g_cbLargestOnDieCacheAdjusted, CLR_GetLargestOnDieCacheSize(FALSE, pProcInfos, cRecords));
+ printf(" g_cbLargestOnDieCache: 0x%08Ix 0x%08Ix :CLR_LargestOnDieCache(TRUE)\n", g_cbLargestOnDieCache, CLR_GetLargestOnDieCacheSize(TRUE, pProcInfos, cRecords));
+ printf("g_cbLargestOnDieCacheAdjusted: 0x%08Ix 0x%08Ix :CLR_LargestOnDieCache(FALSE)\n", g_cbLargestOnDieCacheAdjusted, CLR_GetLargestOnDieCacheSize(FALSE, pProcInfos, cRecords));
}
#endif // _DEBUG
@@ -1293,12 +1293,18 @@ bool PalQueryProcessorTopology()
#ifdef TRACE_CACHE_TOPOLOGY
DumpCacheTopologyResults(maxCpuId, cpuVendor, pProcInfos, cRecords);
#endif
- if ((CLR_GetLargestOnDieCacheSize(TRUE, pProcInfos, cRecords) != g_cbLargestOnDieCache) ||
- (CLR_GetLargestOnDieCacheSize(FALSE, pProcInfos, cRecords) != g_cbLargestOnDieCacheAdjusted) ||
- (CLR_GetLogicalCpuCount(pProcInfos, cRecords) != g_cLogicalCpus))
+ // CLR_GetLargestOnDieCacheSize is implemented for Intel and AMD processors only
+ if ((cpuVendor == CpuIntel) || (cpuVendor == CpuAMD))
{
- DumpCacheTopologyResults(maxCpuId, cpuVendor, pProcInfos, cRecords);
- assert(!"QueryProcessorTopology doesn't match CLR's results. See stdout for more info.");
+ if ((CLR_GetLargestOnDieCacheSize(TRUE, pProcInfos, cRecords) != g_cbLargestOnDieCache) ||
+ (CLR_GetLargestOnDieCacheSize(FALSE, pProcInfos, cRecords) != g_cbLargestOnDieCacheAdjusted) ||
+ (CLR_GetLogicalCpuCount(pProcInfos, cRecords) != g_cLogicalCpus))
+ {
+#ifndef TRACE_CACHE_TOPOLOGY
+ DumpCacheTopologyResults(maxCpuId, cpuVendor, pProcInfos, cRecords);
+#endif
+ assert(!"QueryProcessorTopology doesn't match CLR's results. See stdout for more info.");
+ }
}
#endif // _DEBUG
}